Предмет: Информатика,
автор: himikto
Дано натуральное число.Определить,какая цифра встречается в нём чаще-1 или 9.
Pascal
Ответы
Автор ответа:
0
varn, nine, one: integer;
begin
readln(n);
nine := 0;
one := 0;
while (n > 0) do
begin
if (n mod 10 = 1) then
inc(one)
else
if (n mod 10 = 9) then
inc(nine);n := n div 10;
end;
if (one = nine) then
writeln('Равны')
else
if (one > nine) then
writeln('Единиц больше')
else
writeln('Девяток больше');
end.
begin
readln(n);
nine := 0;
one := 0;
while (n > 0) do
begin
if (n mod 10 = 1) then
inc(one)
else
if (n mod 10 = 9) then
inc(nine);n := n div 10;
end;
if (one = nine) then
writeln('Равны')
else
if (one > nine) then
writeln('Единиц больше')
else
writeln('Девяток больше');
end.
Автор ответа:
0
Можете inc расписать?
Автор ответа:
0
В каком смысле?
Автор ответа:
0
inc(one) это тоже самое, что one:=one+1;
Автор ответа:
0
Ну да, inc - инкремент. Принципиальной разницы не вижу. При большем желание даже можно записать как dec(x, -1)
Автор ответа:
0
А вот так это можно написать на современном Паскале, но мало где этому учат:
// PascalABC.Net 3.0, сборка 1066
begin
var s:=ReadInteger('Введите натуральное число: ').ToString;
var k1:=s.Where(x->x='1').Count;
var k9:=s.Where(x->x='9').Count;
if k1>k9 then Writeln('Единиц больше')
else
if k9>k1 then Writeln('Девяток больше')
else Writeln('Единиц и девяток поровну')
end.
Тестовое решение:
Введите натуральное число: 231192
Единиц больше
// PascalABC.Net 3.0, сборка 1066
begin
var s:=ReadInteger('Введите натуральное число: ').ToString;
var k1:=s.Where(x->x='1').Count;
var k9:=s.Where(x->x='9').Count;
if k1>k9 then Writeln('Единиц больше')
else
if k9>k1 then Writeln('Девяток больше')
else Writeln('Единиц и девяток поровну')
end.
Тестовое решение:
Введите натуральное число: 231192
Единиц больше
Похожие вопросы
Предмет: Қазақ тiлi,
автор: Аноним
Предмет: География,
автор: Аноним
Предмет: Химия,
автор: Аноним
Предмет: Физика,
автор: sekerina00
Предмет: Геометрия,
автор: vladanicole98