hdu 2007 平方和与立方和
题目描述
Problem Description
给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。
Input
输入数据包含多组测试实例,每组测试实例包含一行,由两个整数m和n组成。
Output
对于每组输入数据,输出一行,应包括两个整数x和y,分别表示该段连续的整数中所有偶数的平方和以及所有奇数的立方和。
你可以认为32位整数足以保存结果。
Sample Input
1 3
2 5
Sample Output
4 28
20 152
Author
lcy
问题解答
#include <stdio.h>
int main()
{
int m,n;
while(scanf("%d %d",&m,&n)!=EOF)//使程序可以输入多组测试实例
{
int x=0,y=0,t,temp;
if(m>n)//需考虑如果用户输入的两个数字不是按照从小到大给的
{
t=m;
m=n;
n=t;
}//交换 m,n两者的常用代码,t作为一个中转站
temp=m;//temp作为临时存储从 m到 n每个数字的一个变量
for(int i=m;i<=n;i++)//循环判断每个数的奇偶,循环是从 m这个数开始,到 n结束(也可以计算次数,让 i从 1开始循环)
{
if(temp%2==0)//偶数情况
{
x+=temp*temp;
++temp;//每次判断完一个数,让下一个数赋值给temp,即temp+=1
}
else//奇数情况
{
y+=temp*temp*temp;
++temp;//每次判断完一个数,让下一个数赋值给temp,即temp+=1
}
}
printf("%d %d
",x,y);//在这些 for循环外打印输出
}
}
笔记
- 对题目的理解:“给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。”意思是如果用户输入1 3,那么实际上求的是1~3即1、2、3这三个连续整数中所有偶数的平方和以及所有奇数的立方。