|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
我看了半天,不知道我的代码哪里出现了问题  求大佬帮忙瞅瞅
- #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;
- }
- }
复制代码
- #include <stdio.h>
- #include <stdlib.h>
- int main() {
- int a, i, j, count, sum = 0;
- int number = 3; // 当前验证的数字
- int results[100][5]; // 存储验证结果
- char print; // 用户是否打印结果
- printf("请输入一个整数:");
- scanf("%d", &a); // 用户输入范围的最大值
- while (number <= a) {
- count = number * number * number; // 计算立方
- sum = 0;
- for (i = 1; i < count; i += 2) {
- sum = 0;
- for (j = i; j < count; j += 2) {
- sum += j;
- if (sum == count) {
- // 存储结果
- results[number - 3][0] = number;
- results[number - 3][1] = count;
- results[number - 3][2] = i;
- results[number - 3][3] = i + 2;
- results[number - 3][4] = j;
- break;
- } else if (sum > count) {
- break;
- }
- }
- }
- number++;
- }
- printf("经验证,3 ~ %d 之间所有的整数均符合尼科彻斯定理!\n", a);
- printf("是否打印所有式子(y/n): ");
- scanf(" %c", &print); // 注意前面的空格,跳过空白字符
- if (print == 'y') {
- for (number = 3; number <= a; number++) {
- printf("%d^3 == %d == %d + %d + ... + %d\n",
- results[number - 3][0],
- results[number - 3][1],
- results[number - 3][2],
- results[number - 3][3],
- results[number - 3][4]);
- }
- } else if (print != 'n') {
- printf("无效输入,程序退出。\n");
- }
- return 0;
- }
复制代码
|
-
|