今天孩子被2007wa的一头雾水,差点原地去世。然后多次揣摩,果然,我忽略了一个重大的问题。。。
wa的代码如下:
#include#include int main() { long long a,b,c,e; while(scanf("%lld %lld",&a,&b)!=EOF){ long long d=0,f=0; for(c=a;c<=b;c++){ if(c==0)continue; if(c==1||c==-1){ e=pow(c,3); f+=e; continue; } if(c%2==0){ e=pow(c,2); d+=e; continue; } if(c%2!=0){ e=pow(c,3); f+=e; } } printf("%lld %lldn",d,f); } return 0; }
就这么看,还真的不太容易找出错哪儿了(反正我是这样的)(手动头秃)。然后,屡次揣摩题意,发现题目上可没有说,输入的两个数一定是按照从小到大的顺序排列哦。这就是差点把我wa到哭的小细节(泪目)。
但是没办法,只能擦干眼泪继续肝。修改后的代码如下:
#include#include int main() { long long a,b,c,e; while(scanf("%lld %lld",&a,&b)!=EOF){ if(a>b){ int x=a; a=b; b=x; } long long d=0,f=0; for(c=a;c<=b;c++){ if(c==0)continue; if(c==1||c==-1){ e=pow(c,3); f+=e; continue; } if(c%2==0){ e=pow(c,2); d+=e; continue; } if(c%2!=0){ e=pow(c,3); f+=e; } } printf("%lld %lldn",d,f); } return 0; }
真是没想到,一个判断语句,差点把孩子人整傻了(泪目)。
(如有问题,欢迎指正。)



