#include"iostream"
using namespace std;
int main()
{
int a,b;
while(cin>>a>>b)
{
int t;
int s1=0,s2=0;
if(a>b)
t=a,a=b,b=t;
for(int i=a;i<=b;i++)
{
if(i%2!=0)
s1+=i*i*i;
else
s2+=i*i;
}
cout<<s2<<' '<<s1<<endl;
}
return 0;
}
这一题目的关键就是理解题意,那一段数是指输入的m,n区间之间的整数,涉及到区间就要考虑到两个数的大小的问题,所以还要比较一下m,n的大小。
#include<stdio.h>
void main()
{
int x=0,y=0,m,n,i,t;
while(scanf("%d%d",&m,&n)!=EOF) //另外这种办法说是Compilation
//0_0_11444904_4169.cpp:3: error: `main' must
//return `int'这种错误我现在
//也还不懂修改,先留在这里
{
if(m>n)
{
t=m;
m=n;
n=t;
}
for(i=m;i<=n;i++)
{
if(i%2==1)
y=i*i*i;
if(i%2==0)
x=i*i;
}
printf("%d %d\n",x,y);
}
}
这下面是修改过的,就能够通过了
#include<stdio.h>
main()
{
int x,y,m,n,i,t;
while(scanf("%d%d",&m,&n)!=EOF)
{
x=y=0;
if(m>n)
{
t=m;
m=n;
n=t;
}
for(i=m;i<=n;i++)
{
if(i%2==1)
y+=i*i*i;
else
x+=i*i;
}
printf("%d %d\n",x,y);
}
}
这下面这个又提示是wrong answer了,我也不知道哪里出错了
#include<stdio.h>
main()
{
int x=0,y=0,m,n,i,t;
while(scanf("%d%d",&m,&n)!=EOF)
{
if(m>n)
{
t=m;
m=n;
n=t;
}
for(i=m;i<=n;i++)
{
if(i%2==1)
y+=i*i*i;
else
x+=i*i;
}
printf("%d %d\n",x,y);
}
}