Giải đáp thắc mắc - Trao đổi kinh nghiệm về C++

anhvu_2410

T.E.T.Я.I.S
Tham gia ngày
12/8/06
Bài viết
561
Reaction score
0
Đây là topic riêng về lập trình C++

Chúng ta sẽ post các bài tập mà chúng ta thấy hay vào đây,hoặc các bài mà chúng ta thắc mắc, cần tìm lỗi sai...

Mọi người có thể vào đây để nêu những thắc mắc của mình về C+, hoặc chia sẻ những kinh nghiệm khi lập trình, hy vọng mọi người sẽ ủng hộ mình xây dựng topic này

Có 1 cái topic nói về lập trình C+ nhưng mình thấy nó gộp chung mấy cái # nên muốn tạo 1 topic riêng cho anh em chúng ta thảo luận, anh em ủng hộ mình nha, thanks ! :hug:
 
đây là bài tìm tổng các ước số của số nguyên dương n, mình tìm hoài ko thấy chỗ sai, mọi người tìm giùm nhá

#include <stdio.h>
#include <conio.h>
void main()
{
int i=1,n;
int tong=0;
printf("Nhap so nguyen duong n: ");
scanf("%d",&n);
while (i<=n)
{
if (n%i==0)

tong+=i;

i++;
}
printf("Tong cac uoc so cua %d la:%d",n,tong);
getch();
}
 
Có gì sai đâu? Nên nhớ rằng 1 số cũng chính là ước của số đó, bởi vậy kết quả của tổng phải lớn hơn số đó rồi :|
 
Có gì sai đâu? Nên nhớ rằng 1 số cũng chính là ước của số đó, bởi vậy kết quả của tổng phải lớn hơn số đó rồi :|

Lỗi chương trình chứ ko phải thuật toán, nó báo lỗi như vầy nè
--------------------Configuration: BT21 - Win32 Debug--------------------
Compiling...
CT.CPP
Linking...
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
Debug/BT21.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

BT21.exe - 2 error(s), 0 warning(s)
 
TC của bạn bị lỗi. Code đúng hết. Bạn thử kiểm tra lại thư viện xem có bị thiếu không.

LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
 
Lỗi chương trình chứ ko phải thuật toán, nó báo lỗi như vầy nè

Cái này dịch bằng VC++ à? Dùng phiên bản nào vậy? Compile file 32bit đi :) Nói chung đừng dùng mấy cái trình dịch cũ cũ, kiếm cái mới 1 chút ấy, VD như MS SDK + Dev-C++
 
ok, thanks, đã kiểm tra lại, tạo 1 cái mới rồi past qua thì nó chạy, còn sửa cái cũ thì nó chả chạy :(

Ai viết giùm mình chương trình giải phương trình trùng phương nha
Ax^4+Bx^2+C=0
thanks
 
sẵn giải giùm bài này luôn nha:
Phân tích số nguyên dương n thành các số thực n1,n2,n3...nm sao cho
n=n1+n2+n3...+nm=n1*n2*n3*...*nm
 
chỗ nhờ giải bài tập hay trao đổi học tập vậy :|
 
khác nhiều chứ
bạn làm bài mà có chỗ sai ko biết sửa lên đây nhờ mọi người xem giùm
khác hoàn toàn với việc bạn nhờ người nào đó làm cho bạn từ đầu đến cuối :|
 
giúp mình cái bài C này cái: làm chương trình quản lí sinh viên = liên kêt đơn hoặc đôi trong đó gồm họ tên, năm sinh, nơi sinh, địa chỉ, điểm (điểm tin học, anh văn, chính trị) có thể thêm hoặc xóa một sinh viên nào đó trong cấu trúc.
Thx !
 
dùng cấu trúc struct để quản lí cho dể , còn vần đề thêm xóa thì dùng InsertionSort và Del thuộc CTDL ý , tự code cho quen và mở mang chứ ai mà rãnh ngồi làm cho nổi chứ :o
 
sẵn giải giùm bài này luôn nha:
Phân tích số nguyên dương n thành các số thực n1,n2,n3...nm sao cho
n=n1+n2+n3...+nm=n1*n2*n3*...*nm

haha...cái bài này bít ai cho rùi....:D
Có phải khóa 2007 ko thế ? Hồi vừa dô học cũng bị lôi ra đố.....:devil:
 
Từ bài viết của anhvu_2410 Xem bài
sẵn giải giùm bài này luôn nha:
Phân tích số nguyên dương n thành các số thực n1,n2,n3...nm sao cho
n=n1+n2+n3...+nm=n1*n2*n3*...*nm
n1, n2,n3...nm có bắt buộc phải dương không hả bạn?
 
*> m=1:
n=n1=n1 khỏi nói nha :D


*> m=2:
ta có hệ: n1 + n2=n1*n2=n
=> n1=n-n2 => n=(n-n2)n2
<=> n=n*n2 – n2^2 <=> n2^2 – n*n2 + n = 0 (1)
delta = n^2 – 4n =n(n-4)
delta>=0 <=> n(n-4)>=0 <=> n>=4
Từ đó: kết luận với n<4 thì không phân tích được, còn n>=4 thì ta sẽ tính được n2 là nghiệm của (1) biết n2 tính được n1

*>m=3:
ta có: n1 + n2 + n3 = n1*n2*n3 = n
Ta sẽ lấy bộ số (n1,n2,n3) sao cho n2*n3=-1
<=> n=n1*n2*n3= - n1 => n1= -n
<=> n=n1 + n2 + n3 = -n + n2 – 1/n2
<=> 2*n=n2-1/n2
<=> 2*n*n2=n2^2-1
<=> n2^2 – 2*n*n2 – 1=0 (2)
delta’ = n^2 – 1
Dễ thấy là delta’ luôn luôn không âm => (2) luôn có nghiệm (dễ dàng thấy là nghiệm này # 0 luôn) => tính được n2 => tính được n3.

*>m=4
Ta có: n1 + n2 + n3 + n4 = n1*n2*n3*n4 = n
Ta sẽ lấy bộ số (n1,n2,n3,n4) sao cho n3=1 & n4 =-1
<=> n1 + n2 + n3 + n4 = n1 + n2 = n =>n2=(n-n1)
<=> n1*n2*n3*n4= -n1*n2=n
<=> -n1(n-n1)=n
<=> n1^2 – n*n1=n
<=> n1^2 – n*n1 – n =0 (3)
delta= n^2 +4n
Dễ thấy là delta luôn dương => (3) luôn có nghiệm =>tính được n1 => tính được n2.

*> m > 4
=> m có dạng 4k + 1, 4k + 2, 4k + 3, 4k + 4 (với k là một số tự nhiên)

+> m = 4k + 1
Ta sẽ lấy bộ số: (n1,n2,….nm) như sau: (n1, 1,-1,1,-1…..1,-1)
Khi đó: ta sẽ có: n1 + n2 + …+ nm = n1 + [1 +(-1)] + [1 +(-1)] + …. + [1 +(-1)] = n1 =n
n1*n2*n3*…*nm=n1 * [1*(-1)*1(-1)] *…..* [1*(-1)*1(-1)] = n1=n
Dễ thấy: m=4k + 1 hoàn toàn tương tự trường hợp m = 1

+> m=4k + 2, m=4k + 3, m=4k +4
Hoàn toàn tương tự ta nhóm 4 số [1,(-1),1,(-1)] thành một nhóm ở cả tích và tổng ta sẽ đưa về thành các trường hợp m=2, m=3,m=4 tương ứng.
Đến đây bài toán đã hoàn toàn được giải quyết. Mình nghĩ là bài này chỉ khó ở phần giải toán còn code bạn tự viết nha.
 
ông Mạnh này giỏi toán dữ ha :D
thi hộ thằng em môn Opt cái hơ hơ ;;)
 
Éc! Ông còn giỏi hơn tôi! Sao biết được cả tên tôi trong khi trong lý lịch chẳng ghi gì :o?
 
Back
Top