Консультация № 130187
02.04.2008, 11:53
0.00 руб.
0 8 1
Здравствуйте, уважаемые эксперты, помогите пожалуйста составить алгоритм решения этой задачи. Или блок схему или программу или просто объясните как это работает.
4,
Напечатать первые N натуральных чисел, в представлении которых на простые множители имеются только числа 2,3 и 5
2=2
3=3
4=2*2
5=5
6=2*3
8=2*2*2

Обсуждение

Неизвестный
02.04.2008, 12:53
общий
это ответ
Здравствуйте, Николай Фаворисович Басманов!
Переменная S строкового типа
Цикл X от 2 до N с шагом 1
Цикл Y от 1 до бесконечности, пока X не равно 1
Если X/2 не имеет остатка, то S = S+"2" и X=X/2
В противном случае Если X/3 не имеет остатка, то S = S+"3" и X=X/3
В противном случае Если X/5 не имеет остатка, то S = S+"5" и X=X/5
В противном случае S = X и X = 1
Конец цикла Y
Вывести на печать "X=", S
Конец цикла X
Неизвестный
02.04.2008, 18:10
общий
Нарисуйте пожалуйста блок схему
давно
Старший Модератор
31795
6196
02.04.2008, 18:26
общий
Язык программирования какой?
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Неизвестный
02.04.2008, 20:29
общий
Так то язык делфи, конечно мне можно и программу или блок схему, главное чтобы там был виден алгоритм решения задачи...
давно
Старший Модератор
31795
6196
03.04.2008, 14:34
общий
Есть код на паскеле.
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Неизвестный
03.04.2008, 15:14
общий
Если вы еще не начали, то я думаю не стоит, сдавать надо было сегодня. Большое Вам спасибо!
давно
Старший Модератор
31795
6196
03.04.2008, 15:25
общий
<font color=blue>Const N:set of byte=[2,3,5];Var a,b,c,d:integer; z:boolean;{вариант с функцией которая разбирает множители и выводит числоfunction Check(d:integer;e:boolean):boolean; var c:integer; z:boolean; begin c:=2; if e then write(d:4,‘:=‘); if not(d in N)then repeat if c in N then begin z:=(d mod c)=0; if z then begin d:=d div c; if e then write(c:2,‘ *‘); end; end; inc(c,ord(not(z))); until (c>5) or(d in N); if e then writeln(d:2); check:=d in N; end; }Begin write(‘N:‘);readln(a); {начальное значение} b:=2; repeat {вариант без фцнкций} z:=true; d:=b; c:=2; if not(b in N)then repeat if c in n then begin z:=(d mod c)=0; if z then d:=d div c; end; inc(c,ord(not(z))); until (c>5) or(d in N);{для варианта в функцией dec(a,ord(Check(b,check(b,false)))); } {вариант без функции} if z then begin write(b:6,‘:=‘); d:=b; c:=2; if not(d in N) then repeat z:=(d mod c)=0; if z then begin write(c:2,‘ *‘); d:=d div c; end; inc(c,ord(not(z))); until (c>5)or(d in N); if d in N then writeln(d:2); dec(a); end; {следующее число } inc(b); until a=0; end.</font>
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Неизвестный
03.04.2008, 16:13
общий
Спасибо за то, что помогли :)
Форма ответа