您的位置:首页 > 其它

HDOJ 2007 平方和与立方和

2014-07-22 08:43 519 查看


平方和与立方和

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 89740 Accepted Submission(s): 28696



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 n,m,jsum,osum,i;
while (scanf ("%d%d",&m,&n)!=EOF)
{
jsum=osum=0;
for (i=m;i<=n;i++)
{
if (i%2==0) jsum+=i*i;
else    osum+=i*i*i;
}
printf ("%d %d\n",jsum,osum);
}
return 0;
}


Run IDSubmit TimeJudge StatusPro.IDExe.TimeExe.MemoryCode Len.LanguageAuthor
111231152014-07-21 17:35:56Wrong Answer200715MS248K314 BC++Hidden Secret
第二次代码:
#include <stdio.h>
int main ()
{
long int n,m,jsum,osum,i;
while (scanf ("%ld%ld",&m,&n)!=EOF)
{
jsum=osum=0;
for (i=m;i<=n;i++)
{
if (i%2==0) jsum+=i*i;
else    osum+=i*i*i;
}
printf ("%ld %ld\n",jsum,osum);
}
return 0;
}

Run IDSubmit TimeJudge StatusPro.IDExe.TimeExe.MemoryCode Len.LanguageAuthor
111231532014-07-21 17:38:28Wrong Answer20070MS248K323 BC++Hidden Secret
第三次代码:
#include <stdio.h>
int main ()
{
long int n,m,jsum,osum,i;
while (scanf ("%ld%ld",&m,&n)!=EOF)
{
jsum=osum=0;
if (m>n)
{
m=m+n;
n=m-n;
m=m-n;
}
for (i=m; i<=n; i++)
{
if (i%2==0) jsum+=i*i;
else    osum+=i*i*i;
}
printf ("%ld %ld\n",jsum,osum);
}
return 0;
}


Run IDSubmit TimeJudge StatusPro.IDExe.TimeExe.MemoryCode Len.LanguageAuthor
111289262014-07-22 08:43:38Accepted20070MS248K425 BC++Hidden Secret
总结:
这道题实在太坑,但是也让我了解到考虑问题要全面。一开始很多初学者都会按照字面意思直接m-n用取模办法得出答案,但是万料不到负数m-n是由大到小,而且m++就越界了!水题注意细节!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: