[C语言训练]尼科彻斯定理

题目描述
验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。
输入
任一正整数
输出
该数的立方分解为一串连续奇数的和
样例输入
13
【[C语言训练]尼科彻斯定理】样例输出
131313=2197=157+159+161+163+165+167+169+171+173+175+177+179+181

/* 验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。 样例输入 13 样例输出 13*13*13=2197=157+159+161+163+165+167+169+171+173+175+177+179+181 */ #include int main() { int m,sum=0,sum1=0; //定义接收、立方、以及m个数的和 scanf("%d",&m); int a[500]; //防止溢出 sum=m*m*m; int n; for(int i=n=0; i; i++) { if(i%2!=0)//判断奇数 { a[n]=i; //存储连续奇数 sum1+=i; //m个数的和 n++; } if(n==m)//满足m个数 { n=0; //清零 if(sum1==sum)//相等就结束循环 { break; }else//否则 等于第一个奇数 sum1清零 { i=a[0]; sum1=0; } } } printf("%d*%d*%d=%d=",m,m,m,sum); //输出格式 if(m<=1)//注意1和0 特别输出 { printf("%d",m); }else { for(int i=0; i

    推荐阅读