第1个回答 2013-04-28
#include <stdio.h>
#include <math.h>
int main(void)
{int x,k,flag,n=0; /*n用来控制每行输出8个数*/
for(x=2;x<=1000;x++)
{flag=1;
for(k=2;k<=sqrt(x);k++)
if(x%k==0) {flag=0; break;}
if(flag==1)
{if(n%8==0) printf("\n"); /*8个数一行*/
n++;
printf("%5d",x);
}
}
getchar();
}
第2个回答 2013-04-28
//输出0~10000内所有完数及其因子//
#include<stdio.h>
void main()
{
int i,j,t,s,k;
for(i=1;i<=10000;i++)
{
t=i;
s=0;//保证每次循环开始时s的值都是0//
for(j=1;j<t;j++)
{
if(t%j==0)
{
s=s+j;
}
}
if(s==i)
{
printf("%d its factors are ",i);
printf("1");
for(k=2;k<s;k++)
{
if(s%k==0)
{
printf(",%d",k);
}
}
printf("\n");
}
}
}