1006: 平方和与立方和(2014年中南大学研究生复试机试题 )

1006: 平方和与立方和

时间限制: 1 Sec  内存限制: 128 MB
提交: 393  解决: 94
[提交] [状态] [讨论版] [命题人:外部导入]
题目描述
给定一段 n 与 m之间连续的整数(包括 n 和 m),求出他们中所有偶数的平方和以及所有奇数的立方和。
输入
输入数据包含多组测试实例,每组测试实例包含一行,两个整数m和 n(0 <= n<= 10000, 0 <= m <= 10000)
输出
对于每组输入数据,输出一行,应包括两个整数 x 和 y,分别表示该段连续的整数中所有偶数的平方和以及所有奇数的立方和。
样例输入
1 3
2 5
样例输出
4 28
20 152

 1 #include<iostream>
 2 //#include<limits>
 3 using namespace std;
 4 
 5 int main(){//本题出现错误的地方:数据溢出,很容易忽略,下面的加法过程中,为进行
 6 //强制转换,使得中间结果已经发生了溢出 
 7     int n,m;//n<m
 8     while(cin>>n>>m){//处理n,m要让大的为m
 9         if(n>m){
10             int temp=n;
11             n=m;
12             m=temp;
13         } 
14         long long resultN=0,resultM=0;
15         for(int i=n;i<=m;i++){
16             if(i%2==0){//偶数加与偶数的平方和中 
17                 resultN+=(long long)i*i;//*****出错点:未进行强转!!! 
18             }
19             else{//奇数加入奇数的立方和中 
20                 resultM+=(long long)i*i*i; 
21             }
22         }
23         cout<<resultN<<" "<<resultM<<endl;
24         /*long long a=(long long)10000*10000*1000;
25         cout << "\t最大值:" << (numeric_limits<long long>::max)()<<endl;
26         cout<<a<<endl;*/
27     }
28     return 0;
29 } 

 

转载于:https://www.cnblogs.com/tangyimin/p/10547479.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值