明次 发表于 2010-2-21 12:46

关于程序:N+1 +2 +1 +2 +1 +2 +1 +2……

0,1,3,4,6,7,9,10,12,13,15,16……
规律结合一下标题
1是怎么来的?0+1=1
3是怎么来的?1+2=3
4是怎么来的?3+1=4
6是怎么来的?4+2=6
7是怎么来的?6+1=7
………………
规律大家应该看出来了吧,就是+1完后+2然后+1然后+2……
那用C/C++怎样算出第100项的值?

cshow 发表于 2010-2-21 13:12

一个循环
不会编程语句
思路大概是测试循环的次数 偶数次是1奇数次是2
偶数次设置a为1 奇数次a位2
b=b+a
i=100停止

第一次弄编程
不知道对不对呵呵

明次 发表于 2010-2-21 13:34

看了秀秀哥的话,有了点思路..用余数:lol
随便写了个
#include <iostream>
#include <windows.h>
using namespace std;

int main()
{
        int sum=0,mod=0;
        for(int i=0;i<20;i++)
        {
                if(i%2==0) //如果是偶数
                        mod=(i%2)+2; //mod=2
                else if(i%2==1) //如果是奇数
                        mod=i%2;//mod=1
                sum=sum+mod;
                cout<<sum<<",";
        }
        cout<<endl;
        return 0;
}

vienna 发表于 2010-2-21 13:47

刚刚想的

#include <iostream>
using namespace std;

int main(){

        int count = 0;
        int num = 0;
       
        while(1){
                if(count == 100){        //100是第几项,可以改改
                        goto output;
                }
                ++count;
                ++num;
                if(count == 100){        //同上
                        goto output;
                }
                ++count;
                num += 2;
        }

output:
        cout << "第 100 项 是: "<< num << endl;
}

wgz001 发表于 2010-2-21 13:49

回复 3# 明次

结果对么   :(eew

明次 发表于 2010-2-21 14:12

回复明次

结果对么
wgz001 发表于 2010-2-21 13:49 http://www.52pojie.cn/images/common/back.gif
:(eew我也是临时想到的都没试~把sum初始化为1

zapline 发表于 2010-2-21 19:16

#include <stdio.h>
void main()
{
    int x;
    scanf("%d",&x);
    if (x%2 == 0)
      printf("sum = %d\n",x/2*3);
    else
      printf("sum = %d\n",(x-1)/2*3+1);
}

lixiaodaoaaa 发表于 2010-2-21 21:44

#include <iostream>
#include <windows.h>
using namespace std;

int main()
{
system("color b0");
int sum=-2,mod=0;
int b;
cout<<"该程序能准确算出所要求的第n项的值"<<endl;
cout<<endl<<endl;
cout<<"请输入你要查看的项"<<endl;
cin>>b;
for(int i=0;i<b;i++)
{
if(i%2==0) //如果是偶数
mod=(i%2)+2; //mod=2
else if(i%2==1) //如果是奇数
mod=i%2; //mod=1
sum=sum+mod;
//cout<<sum<<",";
}
cout<<endl<<endl;
cout<<"你所要求的值为"<<sum<<endl;
cout<<endl;
return 0;
}

lixiaodaoaaa 发表于 2010-2-21 21:55

#include <iostream>
using namespace std;

int main(){

int count = 0;
int num = 0;

while(1)
{

++count;
++num;
++count;
num += 2;

if(count == 100)
{ //同上
goto output;
}


}

output:
cout << "第 100 项 是: "<< num << endl;
}
这样算更见简便。嘎嘎

周友明 发表于 2010-2-21 22:22

:'(weeqw太复查了
看不懂:'(weeqw
页: [1] 2
查看完整版本: 关于程序:N+1 +2 +1 +2 +1 +2 +1 +2……