1,2,5,10,21,42,85,170,。。。。
1,2,5,10,21,42,85,170,。。。。
# include <iostream.h>
void main()
{ int n=50,b,a;
if(n%2!=0)
for(n=3;n<=49;n+2)
int a=1;
a=(4*a)+1;cout<<a<<endl;
b=2*a;
cout<<b<<endl;
}
你这个程序没有问题吗?编译出来是你要的结果吗?大家交流一下吧,我也编了一个,也有些问题,后面的显示有问题,前面的是对的,请高手指点一下,谢谢
# include <iostream.h>
void main()
{
int n,a[50]={1,2};
for(n=3;n<=50;n++)
if(n%2==0)
{
a[n]=a[n-1]*2;
cout<<a[n]<<endl;
}
else
{
a[n]=a[n-1]*2+1;
cout<<a[n]<<endl;
}
}
很欣赏你用数组的做法,不过用不着第50项。看看第8项是不是170就可以了。
指出一点,数组的下标是从a[0]开始地,还有循环也要扎实一点。下面是我的改进。
# include <iostream.h>
void main()
{
int n,a[7]={1,2};
for(n=2;n<=7;n++)
{
if(n%2==0)
a[n]=a[n-1]*2+1;
else
a[n]=a[n-1]*2;
}
cout<<a[7]<<endl;
}