题目描述:
输出7有关数字的个数,包括7的倍数,还有包含7的数字(如17,27,37...70,71,72,73...)的个数(一组测试用例里可能有多组数据,请注意处理)
输入描述:
一个正整数N。(N不大于30000)
输出描述:
不大于N的与7有关的数字个数,例如输入20,与7有关的数字包括7,14,17.
示例:
输入:
20
10
输出:
3
1
解题思路:
本题比较直接,直接统计能被7整除的数字还有包含7的数字,其中包含7的数字统计,可以通过将数字转化为字符串的形式分析,也可以将数字按位次查找,即先分析余数再进行除法。
测试代码:
#include <iostream> #include <string> using namespace std; int statistics(int num) { int result=0; for(int i=7;i<=num;++i) { int temp=i; if(i%7==0) result++; else{ while(temp!=0) { if(temp%10==7) { result++; break; } temp/=10; } } } return result; } int main() { int number; while(cin>>number) { cout<<statistics(number)<<endl; } return 0; }