как решить через abc pascal задачу "Дано натуральное число n. Получить все простые делители этого числа"
как решить через abc pascal задачу "Дано натуральное число n. Получить все простые делители этого числа"
как решить через abc pascal задачу "Дано натуральное число n. Получить все простые делители этого числа"
Считаете цикл от 2 до n/2. На каждом шаге делите, пока остаток равен нулю и выводите на экран. Простые числа так и пойдут.
Александр: Остаток деления на 1 любого числа - нуль, так что ваша программа не сработает
Плюс к примеру у числа 8 - простые множители - 2*2*2, а у вас 2*4.
Зло: На самом деле, если брать и делить тоже самое 24 (2*2*2*3) (к примеру) на 2, пока остаток нуль, то дальше на числа кратные 2-м мы уже не поделим (поделили на первой итерации) , то есть 4, 8 и прочие просто пройдут мимо.
Проще простого… Главное знать с чего начать:
Введите N = 123456
Число 123456 можно разложить на простые множители: 2x3 + 3 + 643
Введите N = 123457
Число 123457 простое.
мне одному кажется, что перечисленными методами вы найдете делители, но не убедитесь в том, что они простые?
т. е. найдя делитель, не надо сразу его выводить. делаешь еще 1 цикл от 2 до x/2 и проверяешь, что у х нет делителей. тогда - простое.
for i : = 1 to n do if n mod i = 0 tnen inc ( count )
Есть простой метод и сложный метод. Простой метод: проходим все числа от 2 до n/2 -1 и делим n на это число. Если делится, то результат деления в n, а делитель запоминаем. Пока n не поделится до 1.