任何一个自然数的立方等于连续奇数之和要写的简单点的 我只学过 if while for 这些怎么写比较容易理解~验证上面结论:如,1^3=1;2^3=3+5;3^3=7+9+11要求:程序对每个输入的自然数计算并输出相应的连续奇数 不要在难啊 我只会简单的 while for if 这种级别的~
问题描述:
任何一个自然数的立方等于连续奇数之和
要写的简单点的 我只学过 if while for 这些
怎么写比较容易理解~
验证上面结论:如,1^3=1;2^3=3+5;3^3=7+9+11
要求:程序对每个输入的自然数计算并输出相应的连续奇数
不要在难啊 我只会简单的 while for if 这种级别的~
答
不知道楼主注意没:
1^3=1^2-0^2=(1-0)*(1+0)=1*1;
2^3=3^2-1^2=(3-1)*(3+1)=2*4;
3^3=6^2-3^2=(6-3)*(6+3)=3*9;
因此我只要找出你输入的自然数两个同号的因子a,b.
然后利用x-y=a;x+y=b;求出x,y.就可以了
程序如下:
#include
#include
int main()
{
int n;
scanf("%d",&n);
int data=(int)sqrt(n);
int a,b,x,y,i,j;
for(i=1;i