Problem Description
给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。
Input
输入数据包含多组测试实例,每组测试实例包含一行,由两个整数m和n组成。
Output
对于每组输入数据,输出一行,应包括两个整数x和y,分别表示该段连续的整数中所有偶数的平方和以及所有奇数的立方和。
你可以认为32位整数足以保存结果。
Sample Input
1 3
2 5
Sample Output
4 28
20 152
解题过程
#include <stdio.h>
int main()
{
int m,n;
while(scanf(" %d%d",&m,&n)!=EOF)
{
int x=0,y=0;
if(m<n)
{
for(;m<=n;m++)
{
if(m%2==0)
{
x+=m*m;
}
else
{
y+=m*m*m;
}
}
printf("%d %d\n",x,y);
}
else/*这里是为了防止输入时m比n大的情况*/
{
for(;n<=m;n++)
{
if(n%2==0)
{
x+=n*n;
}
else
{
y+=n*n*n;
}
}
printf("%d %d\n",x,y);
}
}
return 0;
}
解题总结
就本题而言,难处主要是:一是要对奇数和偶数分开进行计算(我是利用求余的方法);二是对各种情况都要考虑(解法中标明的地方)。
心得感受
面对一道题,如果尝试了几次都是答案错误,但输入样例没问题的话,就要考虑是不是存在漏洞,我就是想了好久才想到这的。加油!!!
1149

被折叠的 条评论
为什么被折叠?



