Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
1 / 1 / 0
Регистрация: 20.04.2014
Сообщений: 140
1

Вывести на экран все простые делители чисел (отредактировать код)

03.10.2014, 01:15. Показов 1287. Ответов 1
Метки нет (Все метки)

Вывести на экран все простые делители чисел с диапазона от А до В в виде: число - список простых делителей.
Есть код:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Var i,NN : Longint;
 
Function Prosto(N : Longint) : Boolean;
  Function Prostoe(K : Longint) : Boolean;
  Begin
    If K>1 then
    Begin
      If (N mod K)<>0 then Prostoe:=Prostoe(K-1) else Prostoe:=False;
    End  
      else Prostoe:=True;
  End;
 
Begin
  Prosto:=Prostoe(N-1);
End;
 
Begin
  Readln(NN);
  For i:=1 to NN div 2 do
    If (NN mod i=0) and Prosto(i) then Writeln(i);
end.
С помощью данной программы высчитываются простые делители натурального числа N, а нужно задать диапазон чисел. Помогите, пожалуйста!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.10.2014, 01:15
Ответы с готовыми решениями:

Вывести на экран все простые делители чисел из диапазона от А до В (с использованием функций)
Вывести на экран все простые делители чисел из диапазона от А до В в виде: число - список простых...

Вывести на экран все простые делители чисел из диапазона
Задача: Вывести на экран все простые делители чисел из диапазона от А до В и привести к виду: число...

Вывести на экран все простые делители заданного натурально числа
#include &lt;stdio.h&gt; int main() { int k, n; printf(&quot;Введите ваше натуральное число\n&quot;);...

Вывести на экран все простые делители заданного натурально числа
#include &lt;stdio.h&gt; int main() { int k, n; printf(&quot;Введите ваше натуральное число\n&quot;);...

1
2508 / 1129 / 582
Регистрация: 07.06.2014
Сообщений: 3,281
03.10.2014, 14:18 2
Цитата Сообщение от LittleMonkey Посмотреть сообщение
If K>1 then
.... else Prostoe:=True;
К сожалению, это всё, дальше можно уже не смотреть...
У Вас число 1 - простое, что неверно!

но, допустим, что это вы исправите!

Дальше. Зачем использовать рекурсию там, где она не нужна? Чтобы забить стек, чтобы он для какого-нибудь числа 282382123 рухнул?!
Ну, допустим, что и это Ваc не смущает.

Допустим, что
Цитата Сообщение от LittleMonkey Посмотреть сообщение
С помощью данной программы высчитываются простые делители натурального числа N
Тогда в чём сложность добавить цикл в ваш код?
Pascal
1
2
3
4
5
6
7
8
9
Begin
  ReadLn(A,B);
  for NN := A to B do begin
    K := 0;
    For i:=2 to NN div 2 do
       If (NN mod i=0) and Prosto(i) then inc(K);
    WriteLn('Для числа ',i,' число простых делителей = ',K);
  end;
end.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.10.2014, 14:18

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Циклические алгоритмы: вывести на экран все простые делители заданного натурального числа
Вывести на экран все простые делители заданного натурального числа

Четные делители, нечетные делители, простые делители, составные делители, все делители
Помогите с задачей, не как не получается сделать. Создать HTML-документ p53.html, реализующий...

Определить и вывести на экран все делители натуральных чисел от 1 до N
Определить и вывести на экран все делители натуральных чисел от 1 до N

Вывести все простые делители числа.
Дали задачу не знаю как решать.Дано число n.Вывести все его простые делители.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.