HDU2007平方和与立方和

唔,看到平方和和立方和就很生气(因为正在学平方差的数学菜鸡rxc总是会算错啊......)

所以关于平方和和立方和就一起生气了QAQ

好了废话不多说了(我好像每次都会说一堆废话......)

关于这道题的话....详情见下

Problem Description
给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。
Input
输入数据包含多组测试实例,每组测试实例包含一行,由两个整数m和n组成。
Output
对于每组输入数据,输出一行,应包括两个整数x和y,分别表示该段连续的整数中所有偶数的平方和以及所有奇数的立方和。
你可以认为32位整数足以保存结果。
Sample Input

1 3 2 5
 
Sample Output

4 28 20 152
 
Author
lcy
 
Source
 
问题分析:自动略过.....(只是我懒啦QAQ)
程序说明:emmm实在没有什么可说的呐,非要说的话,判断奇数偶数时候,一般而言用位运算&要强于用取余数运算%。

  这个程序的问题虽然简单,但是不是一次通过的。因为,题目没有说输入的数保证是先小后大,所以又补了几句交换m和n的代码才AC。

AC的C语言程序如下:

 1 /* HDU2007 平方和与立方和 */
 2 
 3 #include <stdio.h>
 4 
 5 int main(void)
 6 {
 7     int m, n, even_sum, odd_sum, i;
 8 
 9     while(scanf("%d%d", &m, &n) != EOF) {
10         // 和清零
11         odd_sum = even_sum = 0;
12 
13         // 计算平方和和立方和
14         if(m > n) {     // 保证m<=n,以便控制循环
15             i = m;
16             m = n;
17             n = i;
18         }
19         for(i=m; i<=n; i++) {
20             if(i & 1)                   // 或 i % 2 == 1
21                 odd_sum += i * i * i;   // 奇数立方
22             else
23                 even_sum += i * i;      // 偶数平方
24         }
25 
26         // 输出结果
27         printf("%d %d\n", even_sum, odd_sum);
28     }
29 
30     return 0;
31 }

好啦,那今天就这样啦,掰掰~

posted @ 2020-03-30 09:43  --rxc  阅读(135)  评论(0)    收藏  举报