本文主要是介绍NOJ:自然数立方的乐趣,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
硬做解不出来,但我看不懂为什么外层的for不循环。
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{int x;scanf("%d",&x);int ans,result;ans=x*x*x;printf("%d*%d*%d=%d=",x,x,x,ans);int i,j,a[j],m,n,t;t=1;result=0;if(x==1)//单独说printf("%d",x);if(x>1){for(t=1;t<=x*x*x;t=t+2)//找第一个{//printf(" %d Y",t);for(j=1;j<=x;j++)//找个数{a[0]=t;a[j]=a[j-1]+2;result=t+a[j];//printf(" %d X",result);if(result==ans && j==x){m=a[j];//最后一个数//printf(" %d ?",a[j]);break;}}if(result==ans && j==x){break;}}for(n=(x-1);n>0;n--){printf("%d+",(m-2*n));}printf("%d\n",m);}return 0;
}
用等差数列求和做可以。
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{int left,l,i=0,a[i];scanf("%d",&l);left=l*l*l;printf("%d*%d*%d=%d=",l,l,l,left);a[0]=(left-l*l+l)/l;printf("%d",a[0]);for(i=0;i<(l-1);i++){a[i+1]=a[i]+2;printf("+%d",a[i+1]);}return 0;
}
不过都用等差数列了,这还是计算机么?
这篇关于NOJ:自然数立方的乐趣的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!