吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5371|回复: 15
收起左侧

[其他转载] 关于程序:N+1 +2 +1 +2 +1 +2 +1 +2……

 关闭 [复制链接]
明次 发表于 2010-2-21 12:46
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
看了秀秀哥的话,有了点思路..用余数
随便写了个
#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# 明次

结果对么   
 楼主| 明次 发表于 2010-2-21 14:12
回复  明次

结果对么
wgz001 发表于 2010-2-21 13:49

我也是临时想到的都没试~把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
太复查了  
  看不懂
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-17 02:57

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表