题目描述
对于给定的正整数 n,计算其十进制形式下所有位置数字之和,并计算其平方的各位数字之和。
输入描述:
每行输入数据包括一个正整数n(0<n<40000)
输出描述:
对于每个输入数据,计算其各位数字之和,以及其平方值的数字之和,输出在一行中,之间用一个空格分隔,但行末不要有空格。
示例1
输出
复制4 7 3 9 16 22 39 36
#include<iostream> #include<stdio.h> #include<string> using namespace std; int main() { int n; int m = 0; int sum; while(cin>>n) { sum=0; int temp = n; while(temp>0) { sum += temp%10; temp = temp/10; } cout<<sum<<" "; m = n*n; sum=0; while(m>0) { sum += m%10; m = m/10; } cout<<sum<<endl; } return 0; }
本题目中数较小,不涉及大数运算
补充:
unsigned int 0~4294967295
int -2147483648~2147483647
unsigned long 0~4294967295
long -2147483648~2147483647
long long的最大值:9223372036854775807
long long的最小值:-9223372036854775808
unsigned long long的最大值:18446744073709551615 //20位
__int64的最大值:9223372036854775807
__int64的最小值:-9223372036854775808
unsigned __int64的最大值:18446744073709551615