http://www.hackerschool.org/HS_Boards/zboard.php?id=QNA_programming&no=2049 [º¹»ç]
Á¦°¡ ´ë·«ÀûÀ¸·Î ¸¸µé¾ú´Âµ¥ À̰ź¸´Ù ´õ ºü¸¥¹æ¹ýÀ¸·Î ±¸ÇÒ¼ö ÀÖ´Â ¹æ¹ýÁ» ¾Ë·ÁÁÖ¼¼¿ä
#include<stdio.h>
long answer[256];
int insu[256];
int now;
int check(long number);
int main(int argc ,char **argv)
{
if(argc!=2)
{
printf("Usage : %s max_number\n",argv[0]);
return 1;
}
int ans=0;
int i;
for(i=1;i>0&&i<=(atoi(argv[1]));i++)
{
//printf("checking %d",i);
if(check(i)==1)
answer[ans++]=i;
}
int ansc=ans;
for(ans=0;ans<ansc;ans++)
printf("the %dth number is%ld\n",ans+1,answer[ans]);
return 0;
}
int check(long number)
{
long i;
long p[256];
int pcount=0;
long hap=0;
for(i=1;i>0&&i<=(number/2)&&pcount<256;i++)
{
//printf("checking %d%%%d\n",number,i);
if(number%i==0)
p[pcount++]=i;
}
now=pcount;
pcount--;
for(;pcount>=0;pcount--)
hap+=p[pcount];
if(hap==number)
{
printf("%7ld:\tOK by",number);
for(pcount=0;pcount<now;pcount++)
printf(" |%ld",p[pcount]);
puts("");
return 1;
}
else
{
//printf("\tNO");
//puts("");
return 0;
}
} |
Hit : 3375 Date : 2009/06/05 11:31
|