编程:从键盘输入正整数n,输出1+(1+2)+(1+2+3)+......+(1+2+3+....+n)。

2024-11-05 20:46:08
推荐回答(3个)
回答1:

#includeint sum_n(int n)
{
int i,sum=0;
for(i=1;i<=n;++i)
sum+=i;
return sum;
}
void main()
{
int i,n,sum=0;
scanf("%d",&n);
for(i=1;i<=n;++i)
sum+=sum_n(i);
printf("sum = %d\n",sum);
}这样只是最简单的一种,效率不高,实际情况做的时候通常是把表达式整理成一个多项表达式来直接做运算,比如说你的那几个1+(1+2).....你可以整理成一个带n的单项式,然后只需要求这个式子的值就行了

回答2:

#include
int
sum_n(int
n)
{
int
i,sum=0;
for(i=1;i<=n;++i)
sum+=i;
return
sum;
}
void
main()
{
int
i,n,sum=0;
scanf("%d",&n);
for(i=1;i<=n;++i)
sum+=sum_n(i);
printf("sum
=
%d\n",sum);
}
这样只是最简单的一种,效率不高,实际情况做的时候通常是把表达式整理成一个多项表达式来直接做运算,比如说你的那几个1+(1+2).....你可以整理成一个带n的单项式,然后只需要求这个式子的值就行了

回答3:

///1+(1+2)+(1+2+3)+......+(1+2+3+....+n)。
#include
void first()
{
int n;
cout<<"********"<<"\n"
<<"请输入数字n:";
cin>>n;
int a=0;
int b=0;
int sum=0;
for (int x=0;x {
a+=1;
b+=a;//裘(1+2+……+n)的值
sum+=b;//求1+(1+2)+(1+2+3)+......+(1+2+3+....+n)。 的值;
}
cout<<"*******************"< cout<<"b="< cout<<"******************"< cout<<"sum="<}
void main()
{
first();
}
楼主可以调试下看看;主要是设计算法,你的算法有几种,一般来说,你写的程序就有几种