2010-10-22 2 views
0

Я пробовал использовать 6% 2, но всегда указывал значение как 2, а не 0. Почему и как я могу получить решение?Как узнать, является ли одно число кратным другому номеру?

+0

6% 2 равно 0, и этот метод является правильным, показать полный код - ошибка должна быть где-то в другом месте – Vladimir

+0

извините, это было 5/3. очень жаль. – wolverine

+0

Это означает, что ваш выход 2 правильный. ты не понимаешь по модулю? – imbaer

ответ

0
bool prime = PrimeTool.IsPrime(input_Number); 
     if (!prime) 
     { 
      Console.Write("multiple of other number"); 
      Console.WriteLine(i); 
     } 
+0

Я не думаю, что он попросил этого @william. Он спрашивает, является ли 'y' кратным' x' (то есть, если 'y = kx' для некоторого целого' k'), а не если ** x ** имеет другие делители, кроме '1' и' x' –

+0

Я dun получаю то, что вы имеете в виду. u сказал .. y = kx, x - простое число. так .. что такое k? – william

+0

@william: Вы не можете использовать только номер/составной номер номера, чтобы определить, является ли он целым кратным некоторого другого числа. Пусть 'y = 8' и' x = 3'. 'y' не является простым, но его коэффициенты равны 1, 2, 4 и 8, поэтому 8 не кратно 3. В том же духе нет целого числа' k', которое бы удовлетворяло уравнению 'y = kx' , – BoltClock

3
 
if(!(y%x)) 
{ 
... 
} 

В вашем случае !(6%2) возвратит истинную.

(Ответ очень похож на оригинал в вопросе)

1

Я asuming, что вы хотите узнать, если Y = Kx имеет целые значения к для данного X так, что Y = 5, X = 3 терпит неудачу (k равно 5/3), но Y = 6, X = 2 проходит (k равно ровно 3). Вы счастливы, что k является положительным или отрицательным.

Таким образом, используя Y остаток X == 0 - хороший тест. Как и в сторону, будьте осторожны отрицательных остатков (например, Y% 2 == 1, как тест на нечетность терпит неудачу для отрицательных чисел, используйте Y% 2! = 0, чтобы убедиться)

Пример кода в Java

public class Example { 

    public static void main(String[] args) { 
    System.out.println(isIntegerFactor(5,3)); // k is not an integer 
    System.out.println(isIntegerFactor(6,3)); // k is 2 
    System.out.println(isIntegerFactor(-6,-3)); // k is 2 
    System.out.println(isIntegerFactor(-6,3)); // k is -2 
    System.out.println(isIntegerFactor(6,-3)); // k is -2 
    } 

    public static boolean isIntegerFactor(int y, int x) { 
    return (y % x) == 0; 
    } 

} 

 Смежные вопросы

  • Нет связанных вопросов^_^