PDA

View Full Version : Bài Tập Hàm-Số Hoàn Hảo



TruTra
21-05-2009, 09:55 AM
Số Hoàn Hảo
#include<iostream.h>
void sohh(int n)
{
int i,j,s;
for(i=2;i<=n;i++)
{
s=1;
for(j=2;j<=i/2;j++)
if(i%j==0)
s=s+j;
if(s==i)
cout<<i<<endl;
}
}
void main()
{
int n;
cout<<"Nhap so nguyen bat ky:";cin>>n;
sohh(n);
}
/*
Vi du: ta co ket qua 28 de co duoc:
i=28 luc nay j chay tu 2->14
i%j==0 thi s=s+1 nghia la:
j=2, i=24 i%j thoa ->s=1+2
j=3, i=24 thoa ->s=1+2+3
j=4, i=24 thoa ->s=1+2+3+4
j=5,i=24 Khong thoa.
j=6 thoa ->s=1+2+3+4+6
j=7 ko thoa
j=8 thoa ->s=1+2+3+4+6+8=24 thoa nho vao
dieu kien tiep theo(s==i)
*/
Theo khuyến cáo của TruTra các bạn nên thêm break vào sau dong cout<<i;
Theo Nguồn của chip.

TruTra
24-05-2009, 06:21 PM
Bài này để tớ fit lai roai update sau

LieuKyThien
21-07-2009, 10:39 AM
còn đây là bài về số hoàn hảo của mình làm bằng c:

#include<conio.h>
#include<stdio.h>
void main()
{
clrscr();
int i,t,j,n;
printf("Nhap so n: ");
scanf("%d",&n);
printf("Cac so hoan hao nho hon %d la:",n);
for(i=2;i<=n;i++)
{
t=1;
for(j=2;j<=i/2;j++)
if(i%j==0)
t+=j;
if(t==i)
printf(" %d",i);
}
getch();
}