Предмет: Информатика, автор: puchkovat003

Напишите, пожалуйста, программу на Си или Паскале, срочно
Проверить, что все цифры от 0 до 9 встречаются в десятичной записи числа х одно и то же кол-во раз.


MrSolution: Уточните условие. Пишу решение так, как понял.

Ответы

Автор ответа: MrSolution
1

Ответ:

(см. объяснение)

Объяснение:

Проверим все ли цифры в числе встречаются одинаковое количество раз.

Самый короткий код:

##

var a: array ['0'..'9'] of integer; var f: boolean := true; var s: string := ReadString;

if(s.StartsWith('-')) then s:= s[2:];

s.ForEach(procedure(x)->a[x]+=1);

a.ForEach(procedure(x)->if((x<>a.Max) and (x<>0)) then f:=false);

print(if(f) then 'Yes' else 'No');

Тестирование:

  • Тест 1:
  • 1234
  • Yes
  • Тест 2:
  • 11234
  • No
  • Тест 3:
  • -14927
  • Yes
  • Тест 4:
  • -1029
  • Yes
  • Тест 5:
  • 1792673264172486742764123764976432176924769274794823792413927391439764792374769127439768521677614279132742767142347222222222222222222222222222289327921436843132612694236278413842
  • No
Похожие вопросы
Предмет: Английский язык, автор: VERA2301