如何打印不能被x或y整除的数字1到n?

时间:2014-09-08 21:56:54

标签: java

public static void notDivisible(int n, int x, int y)
{
    Scanner kb = new Scanner(System.in);
    System.out.println("These are the ints from 1 to" + n + "that are not divisible by" + x + "or" + y);
    n = kb.nextInt();
    x = kb.nextInt();
    y = kb.nextInt();
    if((n%x) == 0)
    {

    }
    else
    {
        System.out.println()
    }
    if((n%y) == 0)
    {

    }
    else
    {
        System.out.println();
    }

所以这就是我到目前为止所做的一切。我知道我必须使用模数并打印出不能被数字整除的数字,但我该怎么办呢?

4 个答案:

答案 0 :(得分:0)

从1到极限(n)循环。

for(int i = 1; i < n; i++)
{
    if(i % x != 0 || i % y != 0)
    {
        System.out.println(i);
    }
}

模数(%)是除法的其余部分。如果i%x与0不同,则意味着我不能被x除。

答案 1 :(得分:0)

这是家庭作业。但是反对我更好的判断:

for(int z=1; z<n; z++) { // Test all numbers from 1 to n
    if((z % x) == 0) { 
       System.out.println(z + " is divisible by " + x);
    } else System.out.println(z + " isn't divisible by " + x); 

    if((z % y) == 0) { 
       System.out.println(z + " is divisible by " + y);
    } else System.out.println(z + " isn't divisible by " + y); 
}

答案 2 :(得分:0)

首先,您需要在打印前向用户询问数字nxy

那么你想要实现的是for循环的典型工作:

for(int i=0; i<n; ++i) {
    if(i%x != 0 && i%y != 0) {
        System.out.println(i);
    }
}

单独尝试下一个练习;)

答案 3 :(得分:0)

读“不能被x或y整除”为“不能被x和y整除”:

for (int i = 1; i <= n; ++i) {
    if (i%x!=0 && i%y!=0) {
        System.out.println(i);
    }
}