• напишите программу в паскаль, пожалуйста))) даю 50 баллов))

    Определить количество повторений каждой из цифр 0,1,2,...,9 в числе n!, где n≤9, n-натуральное.

    Напоминание: n! = 1*2*3*4*….*n.

Ответы 1

  • var  a:array[0..9] of integer; { число повторений }  i,n,d,p:integer;begin  Write('n = '); Read(n);  for i:=0 to 9 do a[i]:=0; { обнулить счетчики }  p:=1;  for i:=2 to n do p:=p*i;  Writeln(n,'! = ',p);  while p>0 do begin    d:=p mod 10;    a[d]:=a[d]+1;    p:=p div 10    end;  Writeln('Количество повторений цифр в числе:');  for i:=0 to 9 do    if a[i]>0 then Write(i,'-',a[i],' ');  Writelnend.Примерn = 99! = 362880Количество повторений цифр в числе:0-1 2-1 3-1 6-1 8-2 второй вариант// PascalABC.NET 3.3, сборка 1634 от 14.02.2018// Внимание! Если программа не работает, обновите версию!begin  var n:=ReadInteger('n=');  var p:=2.to(n).Aggregate(1,(a,b)->a*b); // факториал  Writeln(n,'! = ',p);  Writeln('Количество повторений цифр в числе:');  foreach var i in    p.ToString.GroupBy(t->t).Select(t->(t.Key,t.Count)).OrderBy(t->t[0]) do    Write(i[0],'-',i[1],' ');  Writelnend.
    • Автор:

      roxie
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years