个人技术分享

问题:1057 - 能被5整除且至少有一位数字是5的所有整数的个数

类型:for循环


题目描述:

找出1∼N 中能被 5 整除且至少有一位数字是 5 的所有整数的个数。(N<32767)。

输入:

输入只有一行,只有 1 个整数 N 。

输出:

输出只有一行(这意味着末尾有一个回车符号),包括 1 个整数。

样例:

输入:

9999

输出:

1271

在这里插入图片描述


完整代码如下:

#include<iostream>
using namespace std;
int main(){
	//一、分析问题
	//已知:1-N的整数 
	//未知:能被5整除且至少有一位数字是5的所有整数的个数sum 
	//关系:%5==0 个位=5,十位=5,百位=5,千位=5 
	//二、数据定义 
	int n,sum=0;
	//三、数据输入
	cin>>n;
	//四、数据计算 
	for(int i=5;i<=n;i+=5){
		if(i%10==5||i/10%10==5||i/100%10==5||i/1000%10==5){
			sum++;
		}
	}
	//五、输出结果 
	cout<<sum;	
	return 0;	
}