Hello呀,小伙伴们,第16届蓝桥杯也完美结束了,无论大家考的如何,都要放平心态,今年我刚上大一,也第一次参加蓝桥杯,刷的算法题也只有200来道,但是还是考的不咋滴,但是拿不拿奖都是对自己的一次锻炼,对自己代码能力的考察
我通过刚考完的蓝桥杯,把自己写对的代码和思路分享给大家,可能我的思路不是最优的,但是希望给大家一些帮助和扩展
这道题目其实就是考察取模的运算,和除法的运算,只要大家c语言学的扎实,基本都可以想到,他要的是把每一位拆分下来,然后加在一起,看是否能被5整除,那我们不凡可以设置一个变量sum,让sum每次加上这个数取模下来的结果,当这个数直到除完,那么每一位也就被我们拆下来并且加到了sum里面了,让sum%5看是否等于0即可
#include <iostream>
using namespace std;
typedef long long LL;
LL cnt;//设置计数器,计算有多少个数能被5整数
int main()
{
for(int i = 1; i <= 202504; i++)
{
int tmp = i;//这里要注意让tmp拿到i这个数,否则下面就会对i进行改变
LL sum = 0;//注意这个sum也要定义在for循环里面,让sum重新累加下一个新的i
while(tmp)
{
sum += tmp % 10;//sum拿到tmp取模的数
tmp /= 10;//每次去掉tmp的个位数
}
if(sum % 5 == 0)
{
cnt++;//如果能被整除,那么计数器++一次
}
}
cout << cnt;
return 0;
}