Помощь - Поиск - Пользователи - Календарь
Полная версия: Олимпиадные задачи.
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Banda
Привет!

Сидим сейчас втроём, пытаемся решить задачи по информатике. Остальные уже решили, остались только эти две. Ну никак не получается. Люди помогите плизз!!! Дело жизни и смерти.

№1
Задано целое число n (1<=n<=1000000). Найти наименьшее натуральное число с произведением чисел равных n, если такого числа нет, то вывести ноль.

№2
Восстановление скобок.
Исходные данные - строка состоящая из круглых скобок и знаков вопроса. Составить программу печатающую все правильные скобочные выражения, которые можно восстановить из исходной строки заменой знака вопрос на скобку, либо сообщающую что нет решения. Пример: ((??)? - вывод ((())), либо (()()).
                                                                 )? - вывод программы - решения нет.


                                                                                           Заранее спасибо,
                                                                                                         Лена, Юля и Таня.
fms
№1. тут: http://forum.pascal.net.ru/?board=zd;actio...;num=1068650058 можно посмотреть как выделять цифры из числа. потом найти их произведение. ну и сравнить с n.
2.это тоже вроде где то тут было. хотя может и нет.
Serega
Первую решил. Вторую пока не получается smile.gif
Код
program banda;
uses crt;
var k,l,a,n,pr:longint;
begin
clrscr;
writeln('n - ?');
readln(n);
k:=1000000;
 while k<>0 do
  begin
   l:=k;
   pr:=1;
    while l <> 0 do
     begin
      pr:=pr*(l mod 10);
      l:=l div 10;
     end;
   if pr=n then a:=k;
   k:=k-1;
  end;
writeln(a);
readln;
end.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.