
#include<iostream>
#include<cmath>
#include<cstdio>
using namespace std;
int main()
{
int n;
cin>>n;//输入n
int a[12];//
int x;
bool flag=0;
for(int i=0;i<n;i++)//遍历次数
{
cin>>x;//输入要判断的数
for(int j=2;j<=9;j++)//从一到九遍历
{
int s=x*j;//
int sum=0;
while(s!=0)
{
sum=sum+s%10;//每位数求和
s=s/10;//缩小一位
}
a[j]=sum;//用数组记录
}
// cout<<a[2]<<" "<<a[3]<<endl;
for(int k=3;k<=9;k++)//关键
{
if(a[k]!=a[2])
flag=1;//只要有一个不同,flag改变
}
if(flag)
{
cout<<"NO"<<endl;//不同为No
flag=0;//变回初始状态,为下一轮做准备 (key)
}
else
cout<<a[2]<<endl;
}
return 0;
}
本文介绍了一个通过C++实现的算法,该算法用于判断一个整数是否满足其2到9倍之间的所有倍数的数字和相等。如果相等,则输出任一倍数的数字和;如果不相等,则输出NO。此程序使用了数组来存储各倍数的数字和,并通过标志变量来判断是否所有倍数的数字和都一致。
3480

被折叠的 条评论
为什么被折叠?



