当前位置: 代码迷 >> C语言 >> S=2+2*2+2*2*2.....的算法,对吗?
  详细解决方案

S=2+2*2+2*2*2.....的算法,对吗?

热度:271   发布时间:2007-04-14 22:00:34.0
S=2+2*2+2*2*2.....的算法,对吗?

求S=2+2*2+2*2*2+....+n个2的值
大家看下我的算法对不?
#include<stdio.h>
#include<math.h>
void main()
{int i,sum,n;
scanf("%d",&n);
if(n=1)
{sum=2;
printf("%d",sum);
}
else
{sum=2;
for(i=2;i<=n;i++)
sum=sum+2*exp(n);
prinf("%d",sum);
}
}

搜索更多相关的解决方案: sum  算法  include  math  void  

----------------解决方案--------------------------------------------------------
以下是引用ibiancheng在2007-4-14 22:00:34的发言:

求S=2+2*2+2*2*2+....+n个2的值
大家看下我的算法对不?
#include<stdio.h>
#include<math.h>
void main()
{int i,sum,n;
scanf("%d",&n);
if(n=1)
{sum=2;
printf("%d",sum);
}
else
{sum=2;
for(i=2;i<=n;i++)
sum=sum+2*exp(n);应该是sum+pow(2,i);
prinf("%d",sum);
}
}


----------------解决方案--------------------------------------------------------
你弄错了。
看这个吧。
#include<stdio.h>
#include<math.h>
void main()
{
double i,n,m;
double sum=0;
printf("please input the number n:\n");//输入次方
scanf("%lf",&n);
printf("please input the number m:\n");//输入底数
scanf("%lf",&m);
for(i=1;i<=n;i++)
sum=sum+pow(m,i);
printf("%lf\n",sum);
}
----------------解决方案--------------------------------------------------------
楼上的简洁,呵呵,不过要是对c不熟函数也许真的会弄错.看看c的附录吧后面相应的函数都有的
----------------解决方案--------------------------------------------------------

程序代码:

#include <stdio.h>
int main(int _)
{
scanf(\"%d\",&_);
printf(\"%d\n\",(((1<<_)-1)<<1));
}


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

楼上的代码是什么意思啊?


----------------解决方案--------------------------------------------------------
就是求S=2+2^2+2^3+...+2^n的算法啊
----------------解决方案--------------------------------------------------------
#include <stdio.h>
int main(int _)
{
scanf("%d",&_);
printf("%d\n",(((1<<_)-1)<<1));
}
讲一下怎么实现的?

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

楼主用错了exp()函数了


----------------解决方案--------------------------------------------------------
#include <math.h>
#include <stdio.h>
main()
{
int i,j,sum=0,g=2,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
{for(j=1;j<i;j++)
g=g*10+2;
printf("%d\n",g);
sum=sum+g;
g=2;
}
printf("%d",sum);
getch();
}

只要结果对,那算法就对
----------------解决方案--------------------------------------------------------
  相关解决方案