hdu oj 2007

平方和与立方和

Problem Description
给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。
Input
输入数据包含多组测试实例,每组测试实例包含一行,由两个整数m和n组成。
  Output
对于每组输入数据,输出一行,应包括两个整数x和y,分别表示该段连续的整数中所有偶数的平方和以及所有奇数的立方和。
你可以认为32位整数足以保存结果。
  Sample Input
  
  
1 3 2 5
Sample Output
  
  
4 28 20 152
 
my 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;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值