如果等级与下一个5的倍数之间的差较小 然后,向上舍入为下一个整数倍。如果等级的值是 小于38,则不会进行四舍五入,因为结果仍然会失败 成绩。
我尝试了很多,但是测试用例失败了。
public class Solution {
public static void main(String[] args){
Scanner in =new Scanner(System.in);
int n =in.nextInt();
if(n<30){
break;
}
for(int i =0; i<n-1;i++){
if((i/5)>3){
System.out.println(i+2);
}else {
System.out.println(i);
}
}
}
}
输入
4
73
67
38
33
预期
75
67
40
33
输出
0
1
2
答案 0 :(得分:0)
由于您的问题模棱两可,我不确定我是否理解您希望通过代码实现的目标,但是除了分数低于30并中断循环之外,此代码还不能对分数进行任何处理。您的印刷声明未考虑等级本身。 // if语句
您的代码现在首先说:“嘿,我的成绩是否低于30?如果是,请停止执行。否则,继续。
//循环
然后您的代码说:“好吧,如果等级大于或等于30,则从0循环到那个等级1。 在进行计数时,如果计数除以5大于3,则输出计数+2。否则打印计数”
例如,让输入为n = 33。 //如果
33小于30吗?错误,请继续循环
//循环
从0到29计数 i = 0 (0/5)> 3吗?错误,继续进行 其他 打印(0)
在这种情况下,前5个输出分别为:0、1、2、3、4。 (调用整数除法可去除小数)
希望这会有所帮助:)