|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
《你可切丝定理》
有点问题,不知道出在哪里
- #include <stdio.h>
- #include <math.h>
- int main(void)
- {
- int count, sum, right, index;
- char y;
- printf("输入一个大于2的整数:");
- scanf("%d", &count);
- int list_1[count][99];
- for(int i = 3, sun = 0; i <= count; i++)
- {
- sun = 0;
- right = 1;
- sum = pow(i, 3);
- for(int j = 1, index = 0; index < count*4; index++)
- {
- sun += j;
- list_1[i-3][index] = j;
- j += 2;
- if(sun == sum)
- {
- right = 0;
- break;
- }
- }
- index = 1;
- while(right)
- {
- sun = 0;
- for(int j = 0, inde = index; inde < count*4; j++, inde++)
- {
- sun += list_1[i-3][inde];
- list_1[i-3][j] = list_1[i-3][inde];
- if(sun == sum || list_1[i-3][inde] == 0)
- {
- right = 0;
- break;
- }
- }
- index++;
- }
- }
- for(int j, sum, i = 3; i <= count; i++)
- {
- sum = pow(i, 3);
- printf("%d^3 = %d = ", i, sum);
- for( j = 0; j < count*4; j++)
- {
- printf(" %d ", list_1[i-3][j]);
- if(list_1[i-3][j] >= list_1[i-3][j+1])
- {
- break;
- }
- printf("+");
-
- }
- printf("\n");
- }
-
- return 0;
- }
复制代码
本帖最后由 jackz007 于 2021-11-29 11:52 编辑
- #include <stdio.h>
- int main(void)
- {
- char yc ;
- int b , c , d[100][100] , i , j , k , n , r ;
- printf("请输入一个大于 2 的整数 : ") ;
- scanf("%d" , & n) ;
- for(k = 0 , i = 3 ; i < n + 1 ; k ++ , i ++) {
- for(c = 1 , j = 0 ; j < 2 ; j ++) c *= i ;
- b = c - i + 1 ;
- for(d[k][0] = i , j = 0 ; j < i ; j ++) d[k][j + 1] = b + 2 * j ;
- }
- printf("是否打印所有式子 <y / n> ? ") ;
- fflush(stdin) ;
- yc = getchar() ;
- if(yc = 'Y' || yc == 'y') {
- for(i = 0 ; i < k ; i ++) {
- for(r = 1 , j = 0 ; j < 3 ; j ++) r *= d[i][0] ;
- printf("%d^3 == %d == %d + %d" , d[i][0] , r , d[i][1] , d[i][2]) ;
- if(d[i][0] > 3) printf(" + ...") ;
- printf(" + %d\n" , d[i][d[i][0]]) ;
- }
- }
- }
复制代码
编译、运行实况:
- D:\0002.Exercise\C>g++ -o x x.c
- D:\0002.Exercise\C>x
- 请输入一个大于 2 的整数 : 12
- 是否打印所有式子 <y / n> ? y
- 3^3 == 27 == 7 + 9 + 11
- 4^3 == 64 == 13 + 15 + ... + 19
- 5^3 == 125 == 21 + 23 + ... + 29
- 6^3 == 216 == 31 + 33 + ... + 41
- 7^3 == 343 == 43 + 45 + ... + 55
- 8^3 == 512 == 57 + 59 + ... + 71
- 9^3 == 729 == 73 + 75 + ... + 89
- 10^3 == 1000 == 91 + 93 + ... + 109
- 11^3 == 1331 == 111 + 113 + ... + 131
- 12^3 == 1728 == 133 + 135 + ... + 155
- D:\0002.Exercise\C>
复制代码
如果问题已经解决,应该设置"最佳答案"
|
|