|
发表于 2020-8-31 21:33:28
|
显示全部楼层
本帖最后由 风过无痕1989 于 2020-8-31 21:35 编辑
- #include <stdio.h>
- int main()
- {
- int i,j,k,n,p,qw,bw,sw,gw;
- int sum1 = 0,sum2 = 0;
- int sum = 0;
- printf("请输入需求前几项之和:");
- scanf("%d",&k);
- p = k;// 题目要求计算10次,其实四位数满足条件的只有17个
- for (i = 1000;i <= 9999,p > 0;i++)
- {
- for(j = 32;j * j <= i;j++)// 31的平方小于1000,不满足四位数的条件
- {
- if(i == j * j)
- {
- qw = i / 1000;
- bw = (i - 1000 * qw) / 100;
- sw = (i - 1000 * qw - 100 * bw) / 10;
- gw = i - 1000 * qw - 100 * bw - 10 * sw;
- sum1 = (qw + bw + sw + gw);
- for(n = 1;n <= 6;n++)// 个位、十位、百位、千位都是9,相加也只是36
- {
- if(sum1 == n * n)
- {
- printf("%d\t",i);
- p--;
- sum += i;
- }
- }
- }
- }
- }
- printf("四位双平方数前%d项和 = %d\n",k,sum);
- }
复制代码
|
|