如果一个数K,分别乘以2,3,4,5,6,7,8,9后的值的各个数位的数字相加的和相等,我们则称K为完全数。例如:K等于18的时候,K*2=36,3+6=9。K*3=54,5+4=9。K*4=72,7+2=9。以此类推,则9即为数字K的因子。
输入格式:输入一个正整数K,判断K是不是完全数,如果是则输出K的因子,如果不是则输出数字K各个数位上数字的和。
输入样例1:
18
输出样例1:
YES,9
输入样例2:
11
输出样例2:
NO,2
#include<stdio.h>
int he(int n)//自定义函数he求一个数各个数位上数字之和
{
int a,s=0;//a为每次的余数
while(n>0)
{
a=n%10;
s=s+a;
n=n/10;
}
return s;
}
int main()
{
int k;
scanf("%d",&k);
int a=he(k*2);
if(he(k*3)==a&&he(k*4)==a&&he(k*5)==a&&he(k*6)==a&&he(k*7)==a&&he(k*8)==a&&he(k*9)==a)
{
printf("YES,%d",a);
}
else
{
printf("NO,%d",he(k));
}
}