本文主要是介绍【C++】1395 - 小丽找数?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题
小丽同学想在1~n中找出这样的数,这个数的各个位的和不能被2整除也不能被5整除,比如3、12、25、30、100。这些数都满足各个位的和不能被2和5整除。
请你编程找出1~n中这些数有多少个?
1.分析问题
- 已知:1~n的数
- 未知:满足各个数位的和sum不能被2和5整除的数
- 关系:sum % 2 != 0 && sum % 5 != 0
2.定义变量
//二、数据定义 int n, count = 0;
3.输入数据
//三、数据输入 cin >> n;
4.数据计算
首先通过循环遍历出每个数。
for (int i = 1; i <= n; i++) {}
再通过短除法,得到每个数的数位和。
int sum = 0, num = i;while (num > 0) {sum += num % 10;num /= 10;}
最后统计数位和不能被2和5整除的数的数量。
if (sum % 2 != 0 && sum % 5 != 0) {count++;}
5.输出结果
#include <iostream>
using namespace std;int main() {//一、分析问题//已知:1~n的数 //未知:满足各个数位的和sum不能被2和5整除的数 //关系:sum % 2 != 0 && sum % 5 != 0//二、数据定义 int n, count = 0;//三、数据输入 cin >> n;//四、数据计算 for (int i = 1; i <= n; i++) {int sum = 0, num = i;while (num > 0) {sum += num % 10;num /= 10;}if (sum % 2 != 0 && sum % 5 != 0) {count++;}}//五、输出结果 cout << count << endl;return 0;
}
这篇关于【C++】1395 - 小丽找数?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!