|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
×
我看了半天,不知道我的代码哪里出现了问题  求大佬帮忙瞅瞅
- #include <stdio.h>
- int main ()
- {
- int a ,i ,j ,count ,sum = 0 ,k = 3;
- int c[100][5];//用于存放式子
- char b;//用于判断是否打印式子
-
- printf("请输入一个整数:");
- scanf("%d" ,&a);//用户输入表示范围的最大值a
-
- while(k <= a)
- {
- count = k * k * k;
-
- for (i = 1 ;i < count ;i += 2)
- {
- for (j = i ;j < count ;j += 2)
- {
- sum += j;
- if (sum == count)
- {
- if(j - i <= 4)
- {
- c[k - 3][0] = k;
- c[k - 3][1] = count;
- c[k - 3][2] = i;
- c[k - 3][3] = i + 2;
- c[k - 3][4] = i + 4;
- }
-
- else
- {
- c[k - 3][0] = k;
- c[k - 3][1] = count;
- c[k - 3][2] = i;
- c[k - 3][3] = i + 2;
- c[k - 3][4] = j;
- }
- }
-
- if (sum > count)
- {
- sum = 0;
- break;
- }
- }
- }
-
- k++;
- }
-
- printf("经验证,3 ~ 100 之间所有的整数均符合尼科彻斯定理!\n");
- printf("是否打印所有式子(y/n):");
-
- getchar ();
- scanf("%c" ,&b);
- if(b == 'y')
- {
- for(k = 3 ;k <= a ;k++ )//打印式子
- {
- if(c[k - 3][4] - c[k - 3][3] == 2)
- {
- printf("%d^3 == %d == %d + %d + %d\n" ,c[k - 3][0] ,c[k - 3][1] ,c[k - 3][2] ,c[k - 3][3] ,c[k - 3][4]);
- }
- if(c[k - 3][4] - c[k - 3][3] > 2)
- {
- printf("%d^3 == %d == %d + %d +... + %d\n" ,c[k - 3][0] ,c[k - 3][1] ,c[k - 3][2] ,c[k - 3][3] ,c[k - 3][4]);
- }
- }
-
- return 0;
- }
-
- if(b == 'n')
- {
- return 0;
- }
- }
复制代码 |
-
|