解题思路:
主要就是找到第一个数字的规律:a1=n*n-n+1
参考代码:
#include<stdio.h> int main(void){ int n,product; int a,sum; scanf("%d",&n); product = n*n*n; a = n*n-n+1; sum = a; printf("%d*%d*%d=%d=%d",n,n,n,product,a); while(sum!=product){ a = a+2; printf("+%d",a); sum = sum+a; } return 0; }
给自己记录下(上来就解题,没找规律的报错代码)
#include<stdio.h> #include<math.h> int main(void){ int num,sum=0; int n,i=0,j,k,h; int a[100]; int product; //int check; for(int j=0;j<100;j++) a[j]=0; scanf("%d",&num); product = pow(num,3); printf("%d*%d*%d=%d=",num,num,num,product); for(n=1;n<product;n=n+2){ if(sum<product){ a[i] = n; sum = sum+a[i]; i++; /* for(check=0;check<i;check++){ printf("a[%d]=%d ",check,a[check]); } printf(" sum=%d\n",sum); */ } if(sum>product){ for(j=0;sum>product;j++){ sum = sum-a[j]; } h = i-j; for(k=0;k<h;k++){ a[k] = a[j]; j++; } /* for(check=0;check<k;check++){ printf("a[%d]=%d ",check,a[check]); } printf(" sum=%d\n",sum); */ i = k; if(sum==product){ for(j=0;j<k-1;j++){ printf("%d+",a[j]); } printf("%d",a[j]); break; } } if(sum==product){ for(j=0;j<i-1;j++){ printf("%d+",a[j]); } printf("%d",a[j]); break; } } return 0; }
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题9.3 (C++代码)浏览:665 |
C语言训练-谁家孩子跑最慢* (C语言代码)浏览:1507 |
矩阵转置 (C语言代码)浏览:1525 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:572 |
C二级辅导-同因查找 (C语言代码)浏览:579 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:530 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:850 |
WU-拆分位数 (C++代码)浏览:779 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:853 |
【明明的随机数】 (C语言代码)浏览:785 |