М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
agapovaa2002
agapovaa2002
14.05.2020 07:02 •  Информатика

Найти все трехзначные числа, представимые в виде сумм факториалов своих цифр Не используя функций, только цикл for.
Pascal.

👇
Ответ:
kriskuziya0708
kriskuziya0708
14.05.2020

Код программы;

var i, sum, fact, n, t:integer;

begin

 sum := 0;

 fact := 1;

 writeln('Числа:');

 for i:=100 to 999 do begin

   n := i;

   while n <> 0 do begin

     t := n mod 10;

     while  t <> 0 do begin

       fact:= fact * t;

       t := t - 1;

     end;

     sum := sum + fact;

     fact:= 1;

     n := n div 10;

   end;  

   if i=sum then

   write(i, ' ');

 sum := 0;

 end;

end.

P.S. Из трехзначных чисел под условие подходит только число 145

4,8(97 оценок)
Открыть все ответы
Ответ:
віка20052
віка20052
14.05.2020
Нель­зя ис­поль­зо­вать ко­до­вые слова, ко­то­рые на­чи­на­ют­ся с 0 или с 10. 11 также не можем ис­поль­зо­вать, по­сколь­ку тогда мы боль­ше не смо­жем взять ни­ка­кое дру­гое ко­до­вое слово, а нам их нужно пять. По­это­му берём трёхзнач­ное 110. По Условию Фано, если есть a, то ab существовать не может. Другими словами, мы не можем использовать начало с 0, а если возьмем 11, то начинать другие числа не сможем. Поэтому остается брать числа 110,1110,1111(последний берем без 0, т.к. он последний и других чисел уже не нужно, но если бы и было нужно, то стоит взять число 11110 не нарушая условия Фано)
4,7(100 оценок)
Ответ:
Ден4ик11111111
Ден4ик11111111
14.05.2020
// PascalABC.NET 3.1, сборка 1239 от 08.05.2016
begin
  var b:array[1..6,1..6] of integer:=(
    (19,21,23,25,27,29),(57,59,61,63,65,31),
    (55,81,83,85,67,33),(53,79,89,87,69,35),
    (51,77,75,73,71,37),(49,47,45,43,41,39));
  var a:array[1..6,1..6] of integer;  
  var k:=2;
  var k0,k1:integer;
  for var i:=1 to 6 do begin
    for var j:=1 to 6 do Print(b[i,j]);
    Writeln
    end;
  Writeln;
  repeat
    k0:=0;
    k1:=0;
    Writeln('k=',k);
    for var i:=1 to 6 do begin
      for var j:=1 to 6 do begin
        if (b[i,j] mod k) mod 2=0 then
          begin a[i,j]:=1; Inc(k1) end
        else begin a[i,j]:=0; Inc(k0) end;
        Print(a[i,j])
        end;
      Writeln
      end;
    Writeln('k0=',k0,', k1=',k1);
    if k0<>k1 then Inc(k)
  until k0=k1;
  Writeln(NewLine,'k=',k)
end.

Решение
19 21 23 25 27 29
57 59 61 63 65 31
55 81 83 85 67 33
53 79 89 87 69 35
51 77 75 73 71 37
49 47 45 43 41 39

k=2
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
k0=36, k1=0
k=3
0 1 1 0 1 1
1 1 0 1 1 0
0 1 1 0 0 1
1 0 1 1 1 1
1 1 1 0 1 0
0 1 1 0 1 1
k0=12, k1=24
k=4
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
k0=36, k1=0
k=5
1 0 0 1 1 1
1 1 0 0 1 0
1 0 0 1 1 0
0 1 1 1 1 1
0 1 1 0 0 1
1 1 1 0 0 1
k0=14, k1=22
k=6
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
k0=36, k1=0
k=7
0 1 1 1 1 0
0 0 0 1 1 0
1 1 1 0 1 0
1 1 0 0 1 1
1 1 0 0 0 1
1 0 0 0 1 1
k0=16, k1=20
k=8
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
k0=36, k1=0
k=9
0 0 0 0 1 1
0 0 0 1 1 1
0 1 1 1 1 1
1 0 1 1 1 1
1 0 0 0 1 0
1 1 1 0 0 0
k0=16, k1=20
k=10
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
k0=36, k1=0
k=11
1 1 0 0 0 0
1 1 1 1 1 0
1 1 1 1 0 1
0 1 0 1 0 1
0 1 0 0 0 1
0 0 0 1 1 1
k0=16, k1=20
k=12
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
k0=36, k1=0
k=13
1 1 1 1 0 0
0 0 0 0 1 0
0 0 0 0 1 0
0 0 0 0 1 0
1 1 1 1 1 0
1 1 1 1 1 1
k0=18, k1=18

k=13

ответ: 13
4,5(84 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ