Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/113: Рейтинг темы: голосов - 113, средняя оценка - 4.78
1 / 1 / 0
Регистрация: 27.05.2009
Сообщений: 17

Разложение числа на простые множители

01.06.2009, 15:29. Показов 20588. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Составить программу разложения данного натурального числа на простые множители. Например, 200 = 23 × 52 .
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.06.2009, 15:29
Ответы с готовыми решениями:

Разложение целого положительного числа на простые множители.
Уважаемые господа программисты помогите : 1) Составить программу, используя оператор FOR. Составить программу разложения целого...

Найти каноническое разложение числа n на множители
(Паскаль) Помогите пожалуйста. Найти каноническое разложение числа n на множители. вычислить количество и сумму всех делителей числа n.

Разложить числа на простые множители
Разложить числа на простые множители(определить все простые делители числа) Паскаль.помогите написать программу(желательно с комментариями)

6
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
01.06.2009, 17:24
Например, 200 = 23 × 52 .
Самое интересное здесь, по Вашему мнению, что число 52-простое и произведение 50х23=200. О чем можно еще с Вами после этого говорить.
0
 Аватар для kentaw
421 / 130 / 33
Регистрация: 24.02.2009
Сообщений: 1,122
01.06.2009, 17:40
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
function RazlojenieNaProstieMnojiteli(const N:Integer):String;
var
   i,N,j,Delitel,l,B,Chastnim:Integer;
   s:string;
begin
    Chastnim:=0;    
    if N=1 then  Exit;
    B:=N;
    Delitel:=2;
    s:='';
     //Разложение числа на простые множители,
    Repeat
     j:=0;
     for i:=1 to Delitel do
       if Delitel mod i=0 then j:=j+1;
     if j=2 then//если мы нашел первое простое число,надо проверит N делится ли на эту числу,
                 //если да,тогда продолжаем выполнение проседуруа
      begin
        if B mod Delitel=0 then
         begin
          s:=s+'*'+inttostr(Delitel);
          Chastnim:=B div Delitel;
          while Chastnim mod Delitel=0 do//рекурсивно, продолжаем проседуру 
           begin
            s:=s+'*'+inttostr(Delitel);
            Chastnim:=Chastnim div Delitel;
            if Chastnim mod Delitel=0 then continue else break;
           end;
        end;
       end;
     inc(Delitel,1);
    until Delitel=N;    
    delete(s,1,1);//надо удалить первый символ '*'     
     Result:=IntToStr(N)+'='+s;
  end;
end.
Добавлено через 3 минуты 50 секунд
например,
101=1*100;
101=2*3*17;
103=1*103;
....
111=3*37 и.т.д

Добавлено через 6 минут 3 секунды
или сам програм;
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
program Project2;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
 
var
   i,N,j,Delitel,l,B,Chastnim:Integer;
   s,Result:string;
begin
    Write('Vvedite N = '); Readln (N);
    Chastnim:=0;
    if N=1 then  Exit;
    B:=N;
    Delitel:=2;
        s:='';
         //Ðàçëîæåíèå ÷èñëà íà ïðîñòûå ìíîæèòåëè,
    Repeat
     j:=0;
     for i:=1 to Delitel do
       if Delitel mod i=0 then j:=j+1;
     if j=2 then//åñëè ìû íàøåë ïåðâîå ïðîñòîå ÷èñëî,íàäî ïðîâåðèò N äåëèòñÿ ëè íà ýòó ÷èñëó,
                     //åñëè äà,òîãäà ïðîäîëæàåì âûïîëíåíèå ïðîñåäóðóà
      begin
        if B mod Delitel=0 then
         begin
          s:=s+'*'+inttostr(Delitel);
          Chastnim:=B div Delitel;
          while Chastnim mod Delitel=0 do//ðåêóðñèâíî, ïðîäîëæàåì ïðîñåäóðó 
           begin
            s:=s+'*'+inttostr(Delitel);
            Chastnim:=Chastnim div Delitel;
            if Chastnim mod Delitel=0 then continue else break;
           end;
        end;
       end;
     inc(Delitel,1);
    until Delitel=N;    
    delete(s,1,1);//íàäî óäàëèòü ïåðâûé ñèìâîë '*'
    Result:=IntToStr(N)+'='+s;
    Writeln (Result);
    Readln
end.
1
1 / 1 / 0
Регистрация: 27.05.2009
Сообщений: 17
01.06.2009, 18:06  [ТС]
Puporev, Это примерно!!!!!

Добавлено через 37 секунд
kentaw, Слушай а можно на паскале?!?!?!??
1
 Аватар для kentaw
421 / 130 / 33
Регистрация: 24.02.2009
Сообщений: 1,122
01.06.2009, 18:19
пожалуйста, на паскале;
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
program RazlojenieNaProstieMnojiteli;
Uses CRT;
var
   i,N,j,Delitel,l,B,Chastnim:Integer;
   s,Result:string;
begin
    clrscr;
    Write('Vvedite N = '); Readln (N);
    Chastnim:=0;
    if N=1 then  Exit;
    B:=N;
    Delitel:=2;
    s:='';
    //Разложение числа на простые множители,
    Repeat
     j:=0;
     for i:=1 to Delitel do
       if Delitel mod i=0 then j:=j+1;
     if j=2 then//если мы нашел первое простое число,надо проверит N делится ли на эту числу,
                     //если да,тогда продолжаем выполнение проседуруа
      begin
        if B mod Delitel=0 then
         begin
          s:=s+'*'+inttostr(Delitel);
          Chastnim:=B div Delitel;
          while Chastnim mod Delitel=0 do//рекурсивно, продолжаем проседуру 
           begin
            s:=s+'*'+inttostr(Delitel);
            Chastnim:=Chastnim div Delitel;
            if Chastnim mod Delitel=0 then continue else break;
           end;
        end;
       end;
     inc(Delitel,1);
    until Delitel=N;    
    delete(s,1,1);//надо удалить первый символ '*'
    Result:=IntToStr(N)+'='+s;
    Writeln (Result);
 Readln
end.
1
1 / 1 / 0
Регистрация: 27.05.2009
Сообщений: 17
01.06.2009, 18:38  [ТС]
Result:=IntToStr(N)+'='+s;
Такого нет в паскале.
как по другому???
0
 Аватар для kentaw
421 / 130 / 33
Регистрация: 24.02.2009
Сообщений: 1,122
01.06.2009, 18:43
Цитата Сообщение от Masia Посмотреть сообщение
Result:=IntToStr(N)+'='+s;
Такого нет в паскале.
как по другому???
замени так;
Pascal
1
2
3
4
Result:='='+s;
 Writeln (N,Result);
 Readln
end.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.06.2009, 18:43
Помогаю со студенческими работами здесь

Найти простые множители числа
Создать программу, которая находит все простые множители для введённого числа N. Посмотрите, пожалуйста, где ошибка... var n, k,...

Составить программу разложения числа на простые множители
Дано натуральное число n>=2. Составить программу разложения этого числа на простые множители.Следующим образом: каждый простой множитель p...

Составить программу разложения числа на простые множители
Задача 3.написать комментарии к программным строкам и выполнить дополнительное задание, если оно сформулирован Дано натуральное число K. ...

Подпрограмма: найти числа, в разложении которых на простые множители присутствует 2 раза число 13
1 - найти 100 первых чисел, в разложении которых на простые множители присутствует ровно два раза число 13, используя подпрограмму,...

Разложить число на простые множители
составить программу расписания числа на простые множители у pascal


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru