1049: 平方和与立方和
题目描述
给定两个整数m和n,求出m~n这段连续的整数中所有偶数的平方和以及所有奇数的立方和。
输入
由两个整数m和n组成,你可以假定m<=n.
输出
应包括两个整数x和y,分别表示该段连续的整数中所有偶数的平方和以及所有奇数的立方和。32位整数足以保存结果。
样例输入
2 5
样例输出
20 152
#include <stdio.h>
int main() {
int m, n, x, y; //m,n:这一段数字的初始和最终值 x,y:偶数的平方和、奇数的平方和
x = y = 0; //先将计算合的值都初始化为0
scanf("%d %d", &m, &n);
for (m; m <= n; m++) {
if (m % 2 == 0) //满足偶数的判断条件
x += m * m; //计算偶数的平方和
if (m % 2 == 1) //满足奇数的判断条件
y += m * m * m; //计算奇数的立方和
}
printf("%d %d", x, y); //输出值
return 0;
}
为什么这道题可以不用考虑数值是否溢出的问题呢,原因是题目中已经说出:32位整数足以保存结果,所以用int完全够用。