描述
对于给定的正整数 n,计算其十进制形式下所有位置数字之和,并计算其平方的各位数字之和。
输入描述:
每行输入数据包括一个正整数n(0<n<40000)
输出描述:
对于每个输入数据,计算其各位数字之和,以及其平方值的数字之和,输出在一行中,之间用一个空格分隔,但行末不要有空格。
示例1
输入:
4
12
97
39999
复制
输出:
4 7
3 9
16 22
39 36
解题思路:按位存储
#include<stdio.h>
int main()
{
int x;
while(~scanf("%d",&x))
{
int m=x;
int a[10];
int i=0;
while(x!=0)
{
a[i++]=x%10;
x=x/10;
}
int sum=0;
for(int j=0;j<i;j++)
{
sum+=a[j];
}
printf("%d ",sum);
int y=m*m;
int b[10];
int k=0;
while(y!=0)
{
b[k++]=y%10;
y=y/10;
}
int sum1=0;
for(int j=0;j<k;j++)
{
sum1+=b[j];
}
printf("%d\n",sum1);
}
return 0;
}