题目描述
第三阵,缘,妙不可言
守阵大将乃不可言不忍视不能说不能看的妙啊和尚,他坚信能被5整除且至少有一位数字是5的所有整数都是他的倒霉数字。
从键盘上输入一个整数n,请你找出1~n中能被5整除且至少有一位数字是5的整数的个数.
这个数字对妙啊和尚将造成绝死效果。
输入格式
第一行,一个整数n
数据范围
数据保证n<32767
输出格式
一个整数sum。表示1到n之间能被5整除且至少有一位数字是5的整数个数。
样例输入
9999
样例输出
1271
思路分析
本题没有思路分析。
AC代码
#include<bits/stdc++.h>//万能头
using namespace std;//标准空间命名
int yes5(int n){//写一个自定义函数
int flag=0;//为下面做一个反空行报错做一个变量
if(n%5==0){//判断这个数能不能被5整除
flag=1;//做反空行报错处理
}else{//否则(有没有都行)
return 0;//返回零(有没有都行)
}//格式处理(有没有都行)
string s=to_string(n);//把这个数变成字符串,以便后面处理
int len=s.size();//获取字符串长度
for(int i=0;i<=len;i++){//循环
if(s[i]=='5'){//判断这个数位上有没有5
return 1;//输出1(也可以是flag)
}//格式处理
}//格式处理
return 0;//如果数位上没有5就返回0
}//格式处理
int main(){//主函数
int n;//创建变量
cin>>n;//获取变量
int cnt=0;//创建一个用来存储数量的变量
for(int i=1;i<=n;i++){//循环遍历
cnt+=yes5(i);//加上1(之所以不用判断是不是0,是因为加0不加都一样,0表示没有)
}//格式处理
cout<<cnt;//输出
return 0;//养成好习惯
}//格式处理