C语言验证验证10以内尼克斯彻定理


问题描述:

验证尼克斯彻定理,即任何一个整数的立方都可以写成一串连续奇数的和,如下所示: 13 =1 23=3+5 33=7+9+11 43=13+15+17+19 

 1 #include <stdio.h>
2
3 //输出i的尼克斯彻定理表达式
4 void fun(int i);
5
6 int main(int argc, char *argv[])
7 {
8 int i;
9 for(i=1;i<=10;i++){
10 fun(i);
11 }
12 return 0;
13 }
14
15 void fun(int i){
16 int n=1,k,sum=0;
17 for(n=1;n<=i*i*i;n=n+2){
18 k=n;
19 while(sum<i*i*i){
20 sum=sum+k;
21 k=k+2;
22 }
23 if(sum==i*i*i){
24 printf("%d^3=%d+...+%d\n",i,n,k-2);
25 }
26 sum=0;
27 }
28 }
29
30

输出:

1^3=1+...+1
2^3=3+...+5
3^3=7+...+11
3^3=27+...+27
4^3=1+...+15
4^3=13+...+19
4^3=31+...+33
5^3=21+...+29
5^3=125+...+125
6^3=7+...+29
6^3=31+...+41
6^3=51+...+57
6^3=107+...+109
7^3=43+...+55
7^3=343+...+343
8^3=17+...+47
8^3=57+...+71
8^3=125+...+131
8^3=255+...+257
9^3=1+...+53
9^3=73+...+89
9^3=241+...+245
9^3=729+...+729
10^3=31+...+69
10^3=91+...+109
10^3=247+...+253
10^3=499+...+501


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号