杭电OJ2007
先上代码
package hdu11;
import java.util.Scanner;
public class 平方和与立方和 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNextInt()) {
double res1=0;
double res2=0;
int i=0;
int x=in.nextInt();
int y=in.nextInt();
if(x>y) {
int temp;
temp = x;
x = y;
y = temp;
}
if (y>=x)
{
for (i=x;i<=y;i++){
if(i%2==0){
res1=res1+Math.pow(i,2);
}else if(i%2==1){
res2=res2+Math.pow(i,3);
}
}
System.out.println((int)res1+" "+(int)res2);
}
}
}
}
思路:拿到这题便打算使用pow函数。
坑坑
不过使用pow函数时需要注意它的返回值是一个double值,于是乎赶快把之前int定义的res1,res2改了;对输入的数要加大小判断,一开始只是简单地用了if (y>=x)
来判断大小,好吧,编译没通过,还差点点,人家有可能先输入3,后输入1呀,这不还是1-3的范围么,故又加了段
if(x>y) {
int temp;
temp = x;
x = y;
y = temp;
这下无论你咋输,都能跑出正确结果;就在我以为可以pass的时候,又来了个Presentation Error错误,好吧,输出有误,原来我在代码的最后一处多加了个输出空白行的操作,删除它,ac~.