当前位置: 代码迷 >> C语言 >> [求助]一个小问题
  详细解决方案

[求助]一个小问题

热度:264   发布时间:2006-09-12 00:16:04.0

要的是找出每个N的X来..
#include <stdio.h>
#include <math.h>
main()
{
int x,y,i,sum=0,N;
printf("请输入一个自然数\n");
scanf("%d",&N);
x=pow(N,3);
y=(N-1)*N-1;
for(i=0;i<N;i++)
{ y=y+2;
sum=sum+y;
printf("%d\n",y);
}
if(sum==x)
printf("自然数%d的立方等与以上%d个连续奇数之和\n",N,N);
}
这个可以做到的呀...应该算证明了吧.


----------------解决方案--------------------------------------------------------
以下是引用C之Itachi在2006-9-12 0:16:04的发言:

要的是找出每个N的X来..
#include <stdio.h>
#include <math.h>
main()
{
int x,y,i,sum=0,N;
printf("请输入一个自然数\n");
scanf("%d",&N);
x=pow(N,3);
y=(N-1)*N-1; //为什么有这样的.
for(i=0;i<N;i++)
{ y=y+2;
sum=sum+y;
printf("%d\n",y);
}
if(sum==x)
printf("自然数%d的立方等与以上%d个连续奇数之和\n",N,N);
}
这个可以做到的呀...应该算证明了吧.

让你找,是X从1开始找...找到符合条件的X就退出.


----------------解决方案--------------------------------------------------------

/*用这个验证可能更好吧.*/

#include<stdio.h>
#include<math.h>

int main()
{
int n;
long j,x,i=1,sum,num;

printf("输入一个整数:");
scanf("%d",&n);
num=(long)pow(n,3);
while(i<num)
{
j=0;
x=i;
sum=0;
while(j<n)
{
sum+=x+2*j;
j++;
}
if(sum==num)
{
printf("找到X=%d\n",x);
break;
}
i=i+2;
}
return(0);
}


----------------解决方案--------------------------------------------------------

恩 谢谢了``


----------------解决方案--------------------------------------------------------
  相关解决方案