hdu2007 平方和与立方和【C++】
平方和与立方和
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 204114 Accepted Submission(s): 64657
Problem Description
给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。
Input
输入数据包含多组测试实例,每组测试实例包含一行,由两个整数m和n组成。
Output
对于每组输入数据,输出一行,应包括两个整数x和y,分别表示该段连续的整数中所有偶数的平方和以及所有奇数的立方和。
你可以认为32位整数足以保存结果。
你可以认为32位整数足以保存结果。
Sample Input
1 3
2 5
Sample Output
4 28
20 152
1 #include<cstdio> 2 using namespace std; 3 int main() 4 { 5 int x,y; 6 while(scanf("%d%d",&x,&y)!=EOF) 7 { 8 if(x > y)//题目中没有说明x和y哪个大 9 { 10 x = x ^ y; 11 y = x ^ y; 12 x = x ^ y; 13 } 14 int sumSquare = 0,cubeSum = 0; 15 for(int i = x;i <=y;++i)//1 2 3.1&1==1 odd=1, 10 & 01=00,even=4,11&01=01,odd=27 16 { 17 if((i & 1) == 0)//相当于i%2==0,!=和==的优先级大于位运算,所以要加小括号 18 { 19 sumSquare += i*i; 20 21 } 22 else 23 { 24 cubeSum += i*i*i; 25 26 } 27 } 28 printf("%d %d\n",sumSquare,cubeSum); 29 } 30 return 0; 31 }