第1个回答 2011-05-26
第一题:
void main()
{
int n,sum;
n=20;
sum=0;
sum=fun(n);
printf("%ld\n",sum);
return;
}
long fun(int n)
{
int i;
long tmp;
i=1;
while(i<=n){
tmp+=i*i;
i++;
}
return tmp;
}
第二题:
void main()
{
int n;
n=1000;
fun(n);
return;
}
void fun(int n)
{
int i,sum,tmp;
for(int i=1;i<n;i++){ //这里是找1到n之间的水仙数。当然你可以找任意区间的水仙数,只要改变下i的循环数即可。
tmp=i;
sum=0;
while(tmp>0){
sum = sum + (tmp%10)*(tmp%10);
tmp=tmp/10;
}
if(sum==i){
printf("%d\n",i)
}
}
}