2007 平方和与立方和

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;
 } 
解题总结

就本题而言,难处主要是:一是要对奇数和偶数分开进行计算(我是利用求余的方法);二是对各种情况都要考虑(解法中标明的地方)。

心得感受

面对一道题,如果尝试了几次都是答案错误,但输入样例没问题的话,就要考虑是不是存在漏洞,我就是想了好久才想到这的。加油!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值