Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
2083 张曦元 将任何一个正整数的立方写成一组相邻奇数之和 C++ 解答错误 0 0 MS 192 KB 920 2019-11-07 18:48:22

Tests(0/9):


#include <stdio.h> main() { int i, j, k = 0, l, n, m, sum,flag=1; scanf("%d", &n);/*从键盘中任意输入一个数*/ m = n * n * n;/*计算出该数的立方*/ i = m / 2; if (i % 2 == 0)/*当i为偶数时i值加1*/ i = i + 1; while (flag==1&&i >= 1)/*当i大于等于1且flag=1时执行循环体语句*/ { sum = 0; k = 0; //从i开始,后面的数都比i大2 while (1) { sum += (i - 2 * k); //从i开始一直累加奇数和,i是其中最小的元素,与i邻近且比i大的奇数 k++; if (sum == m) /*如果sum与m相等,则输出累加过程*/ { //输 for (l = 0; l < k - 1; l++) printf("%d ", i - l * 2); printf("%d\n", i - (k - 1) *2);/*输出累加求和的最后一个数*/ flag=0; //跳出while循环 break; } if (sum > m) //大于则说明此情况不成立 break; //跳出while循环 } i -= 2;/*i等于下一个奇数继续上面过程*/ //i变小成下一个奇数 } }


测评信息: