信息学奥赛一本通 2020:【例4.5】第几项

【题目链接】

ybt 2020:【例4.5】第几项

【题目考点】

1. while循环

【解题思路】

用sum表示加和,只要加和小于等于m,那么继续加下一个数字。不断增大的数字用循环控制变量i表示。
如果加和大于m,则结束循环。

【题解代码】

解法1:用while循环
#include<bits/stdc++.h> 
using namespace std;
int main()
{
    int n, m, i = 0, sum = 0;
    cin >> m;
    while(sum <= m)
    {
        i++;
        sum += i;
    }
    cout << i;
    return 0;
}
解法2:用for循环
#include<bits/stdc++.h> 
using namespace std;
int main()
{
    int n, m, sum = 0, i;
    cin >> m;
    for(i = 1; sum <= m; ++i)
        sum += i;
    cout << i-1;//sum > m 时,i又增加了1。数列的最后一个数字是i-1。
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值