平方和与立方和
Problem Description
给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。
Input
Input
输入数据包含多组测试实例,每组测试实例包含一行,由两个整数m和n组成。
Output
对于每组输入数据,输出一行,应包括两个整数x和y,分别表示该段连续的整数中所有偶数的平方和以及所有奇数的立方和。
你可以认为32位整数足以保存结果。
你可以认为32位整数足以保存结果。
Sample Input
1 3 2 5
Sample Output
4 28 20 152my code:#include<stdio.h> int main(){ unsigned int i,m,n,t,sum1=0,sum2=0; while(scanf("%u%u",&m,&n)!=EOF){ if(m>n){t=m;m=n;n=t;} for(i=m;i<=n;i++){ if((i%2)==0){sum1+=i*i;} else{sum2+=i*i*i;} } printf("%u %u\n",sum1,sum2); sum1=0; sum2=0; } return 0; }参考源码:
#include <stdio.h> int main(void){ unsigned int m , n , i , x , y ; while (scanf ( "%u%u" , &m , &n ) != EOF ) { if (m > n ) { i = n ; n = m ; m = i ; } x = y = 0 ; for (i = m ; i <= n ; i ++) (i & 1 ) ? (y += i *i *i ) : (x += i *i );//i&1 按位与运算,取 2进制整数 i 的最低位,如果最低位是1 则得1,如果最低位是0 则得0。 奇数 i 的最低位 是1,偶数i 的最低位 是0。printf("%u %u\n", x, y); } return 0; }