问题描述
- java代码没有被AC,急在线等
-
很简单的一道例题
但是就是没有被AC,而是WA
我没用过acmcoder
import java.util.Scanner;
public class Main {
public static void main(String args[]){
Scanner scan=new Scanner(System.in);
int min,max;
int bai,shi,ge;
boolean tag=true;
while(scan.hasNext()){
min=scan.nextInt();
max=scan.nextInt();
for(int i=min;i<=max;i++){
bai=i/100;
shi=i%100/10;
ge=i%10;
if(bai*bai*bai+shi*shi*shi+ge*ge*ge==i){
tag=false;
System.out.print(i+" ");
}
}
if(tag){
System.out.println("no");
}
}
}
}
解决方案
楼主你的代码健壮性很差,首先你得对输入者有一个提示,告诉他打印的区间和合适,而且是分行。然后对输入的区间进行判断啊,大小是否符合,格式是否符合,然后你的ge为明显错误啊ge=min%100%10 这才对嘛,对了楼主说的AC和WA啥意思,我也是初学者
解决方案二:
每个测试实例的输出占一行
,不是no的情况你没有输出换行
解决方案三:
System.out.print(i+" ");很明显格式有问题 最后一个数后面还有一个空格 acm的经常要注意格式
如果有多个结果 题目要求还要排序 你可以把多个结果先存进数组a 再调用sort方法排序 再打印
打印的时候可以先打出第一个System.out.print(a[0]); 然后后面的System.out.print(" "+a[i]);
希望采纳!!!
解决方案四:
哦 你是按顺序求的 那就可以省去排序了 注意格式即可
解决方案五:
System.out.print(i+" "); 最后一个数字会有一个空格,等于多了一个空格输出
时间: 2024-10-03 11:59:35