解题思路:
注意事项:
参考代码:
#include<stdio.h>
int main()
{
printf("0");//保证空格出现位置
for(int i=1;i<=200000;i++){
int n=i,s=0;//利用乘法定义,将i的各位数分别与i相乘,得到结果存入s中,使得s的个位就是i*i的个位
do{
s+=(i*(n%10));
if(n%10!=s%10) break;//出现不同个位数则中断循环
s/=10;//使i*i的下一位成为个位数
n/=10;//使i的下一位成为个位数
if(n==0)printf(" %d",i);//让空格不出现在最后结果之后
}while(n!=0);//对比完i各位数就退出
}
printf("\n");
return 0;
}
0.0分
0 人评分
C语言训练-尼科彻斯定理 (C语言代码)浏览:469 |
C语言程序设计教程(第三版)课后习题9.10 (C语言代码)浏览:557 |
简单的a+b (C语言代码)浏览:488 |
演讲大赛评分 (C语言代码)浏览:1640 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:616 |
理财计划 (C语言代码)浏览:468 |
最好的,浏览:564 |
数列问题 (C语言代码)浏览:1022 |
筛排处理 (C语言代码)浏览:788 |
小O的数字 (C语言代码)浏览:1411 |