验证尼科彻斯定理:任何一个大于 2 的整数的立方都可以表示成一串连续奇数的和,这些奇数一定是要连续的(比如 3^3 == 7 + 9 + 11)。_I^*~NAZ
!Xu)%G3Yd-B_TlEs>9qnDVgbx6faw
要求:用户输入某个整数,验证该数是否符合尼科彻斯定理,并将对应的式子打印出来。
#include <stdio.h>
#include <math.h>
int main()
{
int a,i,j,count=0,m=0,u,n;
printf("ÇëÊäÈëÒ»¸öÕûÊý£º");
scanf("%d",&a); //aΪ×î´óµÄÖµ
a = pow(a,3);
for(i=1;i<a;i+=2)
{
for(j=i;j<a;j+=2)
{
if(count<a){count+=j;}
else if(count==a)
{i = a+1;break;}
}
if(count!=a){count=0;}
else{break;}
}
printf("%d=",count);
for(i=j-2;;i-=2)
{
m+=i;
if(i==j){n=i;}
if(m==count){break;}
}
printf("%d+",i);
printf("%d",i+2);
if(a==8){}
else if(3*i+6==a)
{
printf("+%d",j-2);
}
else
{
printf("+...+");
printf("%d",j-2);
}
return 0;
}