c语言 任何一个自然数的立方等于连续奇数之和
验证上面结论:如,1^3=1;2^3=3+5;3^3=7+9+11要求:程序对每个输入的自然数计算并输出相应的连续奇数我的要求,用比较简单的循环语句,就IF,WHILE之...
验证上面结论:如,1^3=1;2^3=3+5;3^3=7+9+11
要求:程序对每个输入的自然数计算并输出相应的连续奇数
我的要求,用比较简单的循环语句,就IF,WHILE之类,不出现复杂的结构和语法.
简洁,一语中地.
我们还没学TEMP 之类的语句,应该老师布置出来不会用这些,请大家再弄些简单的,就只有简单的循环语句 展开
要求:程序对每个输入的自然数计算并输出相应的连续奇数
我的要求,用比较简单的循环语句,就IF,WHILE之类,不出现复杂的结构和语法.
简洁,一语中地.
我们还没学TEMP 之类的语句,应该老师布置出来不会用这些,请大家再弄些简单的,就只有简单的循环语句 展开
5个回答
展开全部
先分析规律有:
1^3=1
2^3=3+5
3^3=7+9+11
4^3=13+15+17+19
5^3=21+23+25+27+29
6^3=31+33+35+37+39+41
可推出输入自然数n则:n^3=[n(n-1)+1]+…………+
后面为n个数。
编程如下:
#include<stdio.h>
int main()
{
int n,m,i;
printf("please input n:")
scanf("%d",&n);
m=n*(n-1)+1;
printf("%d^3 = ",n);
for(i=1;i<=n;i++)
{ printf("%d+",m);
m=m+2;
}
printf("\b\n");
}
注意\b的作用是退格,从而删掉最后一个数后面的加号。
输出结果为 列如n=4: 4^3 = 13+15+17+19
希望能帮到你。
1^3=1
2^3=3+5
3^3=7+9+11
4^3=13+15+17+19
5^3=21+23+25+27+29
6^3=31+33+35+37+39+41
可推出输入自然数n则:n^3=[n(n-1)+1]+…………+
后面为n个数。
编程如下:
#include<stdio.h>
int main()
{
int n,m,i;
printf("please input n:")
scanf("%d",&n);
m=n*(n-1)+1;
printf("%d^3 = ",n);
for(i=1;i<=n;i++)
{ printf("%d+",m);
m=m+2;
}
printf("\b\n");
}
注意\b的作用是退格,从而删掉最后一个数后面的加号。
输出结果为 列如n=4: 4^3 = 13+15+17+19
希望能帮到你。
展开全部
我写了个,楼上的虽然简单但是基于找到了规律,像我这种笨脑袋可想不到,所以我写了一般化的,希望你喜欢哈~~
include<stdio.h>
void main()
{
int n,n3,i,j,k=0,f=0;
char q='\0';
scanf("%d",&n);
if(n<=0)
printf("data is error");
else
{
n3=n*n*n;
for(i=1;i<=n3;i+=2)
{
k=0;
for(j=i;j<=n3;j+=2)
{
k+=j;
if(k>=n3)break;
}
if(k==n3)break;
else if(k>n3)continue;
}
printf("%d*%d*%d=%d=",n,n,n,n3);
for(;f<n3;i+=2)
{
f+=i;
printf("%c%d",q,i);
q='+';
}
}
}
include<stdio.h>
void main()
{
int n,n3,i,j,k=0,f=0;
char q='\0';
scanf("%d",&n);
if(n<=0)
printf("data is error");
else
{
n3=n*n*n;
for(i=1;i<=n3;i+=2)
{
k=0;
for(j=i;j<=n3;j+=2)
{
k+=j;
if(k>=n3)break;
}
if(k==n3)break;
else if(k>n3)continue;
}
printf("%d*%d*%d=%d=",n,n,n,n3);
for(;f<n3;i+=2)
{
f+=i;
printf("%c%d",q,i);
q='+';
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void func(int n)
{
int total = n*n*n;
for(int start=1; start<=n; start+=2)
{
int temp = 0;
for(int end=start;end<=n;end+=2)
{
temp += end;
if( temp>=total ) break;
}
if(temp==total)
{
for(int oddNumber=start;oddNumber<=end;oddNumber+=2)
{
printf("%d\r\n", oddNumber);
}
break;
}
}
}
==================
这里面就只有 if / for 语句啊。 temp, start, end 什么的是变量而已
int temp = 0; 是定义了一个变量啊
{
int total = n*n*n;
for(int start=1; start<=n; start+=2)
{
int temp = 0;
for(int end=start;end<=n;end+=2)
{
temp += end;
if( temp>=total ) break;
}
if(temp==total)
{
for(int oddNumber=start;oddNumber<=end;oddNumber+=2)
{
printf("%d\r\n", oddNumber);
}
break;
}
}
}
==================
这里面就只有 if / for 语句啊。 temp, start, end 什么的是变量而已
int temp = 0; 是定义了一个变量啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
只要该数的立方 除3为基数就可以,算法如下:
for(i=1;1<=100;i++) //1--100的情况
{
if((i*i*i)%3==0 && (i*i*i/3)%2==1) printf("%d is:%d + %d + %d\n",i,i*i*i/3-2,i*i*i/3,i*i*i/3+2);
}
打完收工
for(i=1;1<=100;i++) //1--100的情况
{
if((i*i*i)%3==0 && (i*i*i/3)%2==1) printf("%d is:%d + %d + %d\n",i,i*i*i/3-2,i*i*i/3,i*i*i/3+2);
}
打完收工
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询