Вопрос по информатике:
Напишите программу в паскаль, пожалуйста))) даю 50 баллов))
Определить количество повторений каждой из цифр 0,1,2,...,9 в числе n!, где n≤9, n-натуральное.
Напоминание: n! = 1*2*3*4*….*n.
Трудности с пониманием предмета? Готовишься к экзаменам, ОГЭ или ЕГЭ?
Воспользуйся формой подбора репетитора и занимайся онлайн. Пробный урок - бесплатно!
- 27.07.2017 11:54
- Информатика
- remove_red_eye 8386
- thumb_up 34
Ответы и объяснения 2
//Версия 3.3, сборка 1634
function f(n: integer): integer;
begin
var fx:=1;
for var i:=2 to n do fx:=fx*i;
f:=fx;
end;
begin
var n:=ReadInteger('n=');
for var i:=0 to 9 do writeln('цифра ',i,' повторяется в числе ',f(n),' ',f(n).ToString.Where(x->x.ToDigit=i).Count,' раз' );
end.
- 28.07.2017 22:13
- thumb_up 19
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],' ');
Writeln
end.
Пример
n = 9
9! = 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],' ');
Writeln
end.
- 29.07.2017 22:15
- thumb_up 25
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.