解题思路:
主要就是找到第一个数字的规律: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语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:1292 |
DNA (C语言描述,数据结构)浏览:909 |
C语言程序设计教程(第三版)课后习题9.1 (C语言代码)浏览:710 |
Cylinder (C语言描述,蓝桥杯)浏览:1279 |
Tom数 (C语言代码)浏览:517 |
震宇大神的杀毒软件 (C语言代码)浏览:1162 |
C语言程序设计教程(第三版)课后习题12.1 (C语言代码)浏览:689 |
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:985 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:497 |
1197求助浏览:667 |