有时候,普通的if-else是不够的。在这种情况下,我们拥有所谓的梯形条件。因此,在这里我们将学习如何使用它们。
给出一个正整数N。您的任务是检查是否可以将其整除,如下所示:
注意:如果N可以被上述给定数字中的一个以上整除,则打印最大的一个。
输入格式: 输入的第一行包含多个测试用例T。对于每个测试用例,将只有一行包含N。
输出格式: 对于每个测试用例,请按照上述步骤中的说明检查可除性并相应地打印语句(不带引号)。
您的任务: 您的任务是根据需要完成检查除数的功能。
约束:
1 <= T <= 10
1 <= N <= 106
示例:
输入:
2
3
11
输出:
Three
Eleven
**有关更多输入/输出示例,请使用“预期输出”选项**
class Geeks {
static void isDivisibleByPrime (int n)
{
//Your code here
Scanner sc=new Scanner(System.in);
int a[]=new int[n];
for(int i=0;i<n;i++)
{
a[i]=sc.nextInt();
if(a[i]%2==0)
System.out.println("Two");
else if(a[i]%3==0)
System.out.println("Three");
else if(a[i]%11==0)
System.out.println("Eleven");
else
System.out.println("-1");
}
}
}
答案 0 :(得分:0)
首先在每个代码块周围使用大括号。每个人都更容易阅读。
规范中的第二点是打印可整除的最大值,因此您 应该首先检查它是否先除以 11,然后是 3,然后是 2。
正确的代码在这里:
static void isDivisibleByPrime(int n) {
if (n % 11 == 0) {
System.out.println("Eleven");
} else if (n % 3 == 0) {
System.out.println("Three");
} else if (n % 2 == 0) {
System.out.println("Two");
} else {
System.out.println("-1");
}
System.out.println();
}
答案 1 :(得分:-2)
第一件事-始终在每段代码中使用大括号-尤其是该语言的初学者。它将使您的生活更加轻松,任何人都可以阅读您的代码。
第二,规范中的要点是要打印最大的数值(如果是可整的),因此您应该首先检查它是否先除以11,然后除以3再除以2。
最后,我将首先获取所有输入,而不是使用isDivisibleByPrime
方法,而只需为每个输入调用该方法。
因此,只需将您的isDivisibleByPrime
保留为
static void isDivisibleByPrime(int n) {
if (n % 11 == 0) {
System.out.println("Eleven");
} else if (n % 3 == 0) {
System.out.println("Three");
} else if (n % 2 == 0) {
System.out.println("Two");
} else {
System.out.println("-1");
}
}
并使用值在其他地方调用
Scanner sc = new Scanner(System.in);
System.out.println("Enter number of test cases:");
int numOfTestCases = sc.nextInt();
for (int i = 0; i < numOfTestCases; i++) {
System.out.println("Enter value to check:");
int valueToCheck = sc.nextInt();
isDivisibleByPrime(valueToCheck);
}
很显然,这里没有错误处理之类的东西,但是由于您可能是新手,所以我确定这不是必需的。
这是一个 online 示例。