HDoj 2007 平方和与立方和

Problem Description
给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。
 

 

Input
输入数据包含多组测试实例,每组测试实例包含一行,由两个整数m和n组成。
 

 

Output
对于每组输入数据,输出一行,应包括两个整数x和y,分别表示该段连续的整数中所有偶数的平方和以及所有奇数的立方和。
你可以认为32位整数足以保存结果。
 

 

Sample Input
1 3 2 5
 

 

Sample Output
4 28 20 152
 

 

Author
lcy
 

 

Source
 

 

Recommend
JGShining   |   We have carefully selected several similar problems for you:  2008 2009 2010 2012 2014 
 
 
本题的坑有很多
1在C++标准中,int 整型 16位           long 长整型 32位        long long 长整型 64位,本题说明了32位整数足以保存结果,所以可以用long(我用的long long)
2一直oj出错的原因是,代码默认循环是n1到n2,但是输入的数据范围,有可能先输入大的数,再输入小的数,所以要先判定大小,决定是否交换再循环
 
C++语言代码:
#include<iostream>
using namespace std;
int main()
{
    long long n1,n2,temp;
    while(cin>>n1>>n2)
    {
        long long s1=0;
        long long s2=0;
        if(n1>n2)
        {
            temp=n1;
            n1=n2;
            n2=temp;
        }
        for(long long i=n1;i<=n2;i++)
        {
            if(i%2==0)
                s2+=i*i;
            else
                s1+=i*i*i;
        }
        cout<<s2<<" "<<s1<<endl;
     }
     return 0; 
 } 

 

 

 
posted on 2020-03-14 13:00  沈香茶  阅读(164)  评论(0)    收藏  举报