Паскаль 1. Дано натуральное число N и N целых чисел, задаваемых пользователем....

0 голосов
36 просмотров

Паскаль
1. Дано натуральное число N и N целых чисел, задаваемых пользователем. Определить, сколько среди этих N чисел двузначных. Массивы не использовать.
2. Дано натуральное число N и N целых трехзначных чисел, задаваемых пользователем. Определить, сколько среди этих N чисел таких, что произведение их цифр равно К. Массивы не использовать


Информатика (280 баллов) | 36 просмотров
Дано ответов: 2
0 голосов
Правильный ответ
// PascalABC.NET 3.3, сборка 1540 от 16.09.2017
// Внимание! Если программа не работает, обновите версию!

begin
  Writeln(ReadSeqInteger('Вводите числа:',ReadInteger('N='))
      .Where(x->Abs(x).Between(10,99)).Count)
end.

Пример
N= 5
Вводите числа: 23 -4 100 -42 16
3

begin
  var k:=ReadInteger('K=');
  Writeln(ReadSeqInteger('Вводите трехзначные числа:',ReadInteger('N='))
      .Where(m->Abs((m mod 10)*(m div 100)*(m div 10 mod 10))=k).Count)
end.

Пример
K= 8
N= 10
Вводите трехзначные числа: 142 712 426 -222 318 916 107 932 -116 473
2
(150k баллов)
0 голосов

Var N,sum:integer;
begin
sum:=0;
write('Введите N:');
readln(N);
for var i:= 1 to N do
begin
readln(N);
if (abs(N)>9) and (abs(N)<=99) then<br>sum:=sum+1;
end;
writeln('Количество двузначных чисел:',sum);
end. 


var N,K,sum:integer;
begin
sum:=0;
write('Введите N:');
readln(N);
write('Введите K:');
readln(K);
for var i:= 1 to N do
begin
readln(N);
if (abs(N)>9) and (abs(N)<=99) then<br>if (((N div 100)*((N div 10) mod 10)*(N mod 10)) = K) then
sum:=sum+1;
end;
writeln('Количество чисел:',sum);
end. 

(3.6k баллов)