[GESP202409 二级] 数位之和

题目描述

小杨有 n 个正整数,他认为一个正整数是美丽数字当且仅当该正整数每一位数字的总和是 7 的倍数。

小杨想请你编写一个程序判断 n 个正整数哪些是美丽数字。

输入格式

第一行包含一个正整数 n,表示正整数个数。
之后 n 行,每行一个包含一个正整数 a_i。

输出格式

对于每个正整数输出一行一个字符串,如果是美丽数字则输出 Yes,否则输出 No

输入输出样例 #1

输入 #1

3
7
52
103

输出 #1

Yes
Yes
No

说明/提示

数据规模与约定

对全部的测试数据,保证 1≤n≤105,1≤a[i]≤105。

题目中说,一个正整数是美丽数字当且仅当该正整数每一位数字的总和是 7 的倍数。因此,先思考如何将一个正整数 a 的每一位数字求和,假设求和的结果用变量 sum 存储。

可以使用循环结构完成:每次用 sum += a % 10 让总和加上 a 的个位,再用 a /= 10 去除 a 的个位,直到 a 为 0 为止。判断总和是 7 的倍数,只需判断 sum % 7 == 0。

而题目中说有 n 个正整数,那么我们外层套一个循环,读入 n 个正整数,对于每个读入的正整数 a 做上面所述的流程。

答案:

#include<bits/stdc++.h>
using namespace std;
int main(){int n;cin>>n;int ans=0;for(int i=1;i<=n;i++){int x;cin>>x;int tot=0;while(x){tot+=(x%10);x/=10;}if(tot%7==0){cout<<"Yes\n";}else{cout<<"No\n";}}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/982250.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!