小丽同学想在1~n中找出这样的数,这个数的各个位的和不能被2整除也不能被5整除,比如3、12、25、30、100。这些数都满足各个位的和不能被2和5整除。
请你编程找出1~n中这些数有多少个?
//二、数据定义 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;}
最后统计数位和不能被2和5整除的数的数量。
if (sum % 2 != 0 && sum % 5 != 0) {count++;}
#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;
}
本文发布于:2024-01-30 05:55:38,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170656534219706.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |