mariia39
?>

Дано натуральное число. определить сколько раз в нем встречаются цифры 0 и 5 (всего

Информатика

Ответы

sorokinae
Вариант первый:

Var
   A:longint;
   n,p:integer;
   B:byte;
Begin
Write('Введите натуральное число: ');
ReadLn(A);
n:=0;
p:=0;
While A > 0 do
   Begin
   B:=A mod 10;
   if B = 0 then n:=n+1;
   if B = 5 then p:=p+1;
   A:=A div 10;
   End;
WriteLn('Количество нулей в числе: ',n);
WriteLn('Количество пятёрок в числе: ',p);
End.

Вариант второй:

Var
   A:string;
   n,p,i:integer;
Begin
Write('Введите натуральное число: ');ReadLn(A);
n:=0;
p:=0;
For i:= 1 to Length(A) do
    if A[i] = '0' then n:=n+1
       else if A[i] = '5' then p:=p+1;
WriteLn('Количество нулей в числе: ',n);
WriteLn('Количество пятёрок в числе: ',p);
End.
iracaenko153
В случае постоянного и бесперебойного Интернет-соединения (что бывает крайне редко) задача имеет следующее решение:
1) За секунду передаётся 56 Килобит информации. Три минуты - это 180 секунд.
2) Поскольку передача файла заняла 180 секунд, нужно умножить количество информации в секунду на 180 для того, чтобы определить исходный размер файла:
3) 56(Кбит/секунду) * 180(секунд) = 10080(Кбит).
4) Один байт эквивалентен 8 битам. В одном Мегабайте 1024 Килобайта. Делим полученное значение на 8, а затем на 1024, чтобы определить размер файла в Мегабайтах:
5) 10080 / 8 / 1024= 1,23046875(Мб).
ответ: исходный размер файла приблизительно составляет 1,23046875 Мб.
Удачи!
Kochetova92
Function BigNum(n: integer): string;
{Генератор случайного числа из n цифр}
var
  c, s: string;
  i, k: integer;
begin
  Randomize;
  k := Random(9) + 1;
  Str(k, c);
  s := c;
  for i := 1 to n - 1 do
  begin
    k := Random(10);
    Str(k, c);
    s := s + c
  end;
  BigNum := s
end;

function SumDig(s: string): integer;
{Сумма цифр в числе}
var
  i, n, sum, err: integer;
begin
  sum := 0;
  for i := 1 to length(s) do
  begin
    Val(s[i], n, err);
    sum := sum + n
  end;
  SumDig := sum
end;

function Residue(s: string): integer;
{Возвращает остаток от деления числа в s на 18}
var
  n, sd, res9, res2, err: integer;
  odd1, odd2: Boolean;
begin
  sd := SumDig(s);
  res9 := sd mod 9;
  Val(s[length(s)], n, err);
  res2 := n mod 2;
  odd1 := (res9 mod 2) <> 0;
  odd2 := (res2 <> 0);
  if (odd1 and not odd2) or (not odd1 and odd2) then Residue := res9 + 9
  else Residue := res9
end;

var
  c: string;

begin
  c := BigNum(1000);
  writeln(c,#13#10,'Остаток от деления на 18 равен ', Residue(c))
end.

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

3221915424975322923399502460812524529225375712837996380372955560234189270702379062282513315737071547764862568890398237871186353362182139742995552543884367658741829560716949497663481958872557099007598172783497999536087178826984948006420926538455756301942035589845898211516063937013863606448533769355643489588909747508128286297239467146038312854988616013646629224854150056080633230962334349031818700972765003200339826241970102416293235810632014869208245809165359601700391661996623220804842575428230306880758380343212880696782613365631634904645222111534961009813502561157888605055040272066063419013375096375636695376322940418437858178995380732947703268032557794787741637094210757062359003544768695429616517382280063142873709333561422845574162136379545354590728371075722857860156305301616725485589016055779858443331207045899737128103925063276738104327107115503162033931614476906153279190680955900379416370372010844088284335066847563774690881756900181208508120442555717049830267806565535426556043820118314
Остаток от деления на 18 равен 2

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Дано натуральное число. определить сколько раз в нем встречаются цифры 0 и 5 (всего
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

sanina611
alena
mbykovskiy
Баринова
PivovarovaIlina1437
ambiente-deco516
snk7777202
Ka2ffka141
ielienakozlova696
Иванина
sdvigov
Natalya1895
Pochkun-Oleg
stendpost
Vos-sv