2021年包河区青少年信息学科普日真题-攒钱规则(savings)
题目描述
小丽生日的时候,获得一个空空的储钱罐。她想要把自己的零花钱放进去。小丽决定,在第 i 天的早上,放 i 元人民币到储钱罐里。也就是说,第 1 天早上,她放 1 元到储钱罐里;第 2 天早上,她再放 2元到储钱罐里,以此类推。每天晚上,小丽会清点储钱罐里钱的数目。小丽想存至少 N 元钱,请问第几天晚上,小丽在清点的时候,会意识到储钱罐里已经至少 N 元钱了呢?
输入格式
输入一行,一个整数N,表示N元钱。
输出格式
输出小丽清点钱币时,发现储钱罐里至少有 N 元钱,是第几天?
输入输出样例
输入样例1:
12
输出样例1:
5
输入样例2:
100128
输出样例2:
447
说明
1<=N<=1000000000
【解析】
1:本题采用 while循环 比较合适 。
2:因为 题目 的条件是 当存钱罐有 N 元 就停止存钱的习惯。反之,也就是当存钱罐 < N 元,就存入一个与天数相同的金币。
【参考解析】
#include<bits/stdc++.h>
using namespace std;
int main(){
int N;
cin>>N;
int s=0;//初始存钱罐的钱数
int d=0;//表示第几天
while(s<N){ // 没有达到要求数量
d++;//天数增加
s+=d;//存钱罐里的钱增加d
}
cout<<d;
return 0;
}
希望能帮助到您。