М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Nerror
Nerror
24.07.2020 13:07 •  Информатика

72 за верно выполненное 1. напишите программу, которая вводит последовательность целых чисел, заканчивающихся нулём, и определяет, сколько из этих чисел удовлетворяет условию: сумма значений цифр десятичной записи числа равна 10. 2.напишите программу, которая вводит с клавиатуры натуральное число n и определяет его факториал.что будет, если ввести большое значение n(например, 20)? 3.напишите программу, которая определяет, верно ли, что введённое число содержит по крайней мере 2 одинаковые цифры, возможно, не стоящие рядом(как, например, 212)

👇
Ответ:
gavrilovanasta
gavrilovanasta
24.07.2020
PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018
Внимание! Если программа не работает, обновите версию!

№1

function IsGood(n:integer):boolean;
begin
  n:=Abs(n);
  var s:=0;
  while n>0 do begin
    s+=n mod 10;
    n:=n div 10
    end;
  Result:=s=10
end;

begin
  var k:=ReadSeqIntegerWhile(t->t<>0).Where(t->IsGood(t)).Count;
  Writeln(k,' чисел с суммой цифр, равной 10')
end.

Пример
-5234 20043 52340 10531 -64 31502 0
2 чисел с суммой цифр, равной 10

№2

begin
  var n:=ReadInteger('Введите число:');
  if n<=1 then Writeln(n,'!=',1)
  else Writeln(n,'!=',1.To(n).Aggregate(BigInteger(1),(i,j)->i*j))
end.

Примеры
Введите число: 5
5!=120

Введите число: 20
20!=2432902008176640000

Введите число: 100
100!=93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000

№3

begin
  if ReadInteger('Введите число:').ToString.GroupBy(t->t).
      Select(t->(t.Key,t.Count)).Any(t->t[1]>1)
  then Writeln('Число содержит по крайней мере две одинаковые цифры')
  else Writeln('Введенное число не содержит одинаковых цифр')
end.

Примеры
Введите число: 12345670
Введенное число не содержит одинаковых цифр

Введите число: 1320624
Число содержит по крайней мере две одинаковые цифры
4,6(38 оценок)
Ответ:
baka8
baka8
24.07.2020
1)
var i,a:Integer;
begin
a:= 1;
while a<>0 do
begin
Read(a);
i+=a;
end;
WriteLn(i=10);
end.

2) Можно через double. Но после 170! уже бесконечность.
var n:Integer;
var b:double;
begin
b:=1;
Read(n);
for var i:= 1 to n do
b*=i;
WriteLn('factorial '+n+' = '+b);
end.

3) Работает как и с числами так и со строками.
var arr:array of char;
var a:String;
var first,last:Integer;
begin
Read(a);
arr:= a.ToCharArray();
for var i:= 0 to arr.Length-1 do
begin
first:=Pos(arr[i], a);
last:=Pos(arr[i], a,first+1);
if (first>0) and (last > 0) and (first<>last) then
begin
first:=99;
break;
end;
end;
if first = 99 then
WriteLn('Содержит. Это число '+arr[last-1])
else
WriteLn('Несодержит.');
end.
4,4(22 оценок)
Открыть все ответы
Ответ:
привет6365
привет6365
24.07.2020
1) 64*32/8/1024 = 0,25 кб; 1 / 0,25 = 4 бит пиксель; 2^4 = 16 цветов.
2) 50*80*(ln(16)/ln(2)) = 16000 бит; 16000 / 8 = 2000 байт.
3) 64*64*(ln(256)/ln(2)) = 32768 бит / 8 / 1024 = 4 кбайт минимум.
4) 2048*1536*3 байт пиксель = 9437184 байт / 8 / 1024 = 1152 кбайт.
5) (ln(256)/ln(2)) / (ln(2)/ln(2)) =8 раз меньше стал; (текущий уменьшенный вес файла + 70 байт) * 8 =~ 560 байт если весил 1 байт.
6) (ln(64)/ln(2)) / (ln(8)/ln(2)) = 2 раза.
7) (ln(1024)/ln(2)) / (ln(32)/ln(2)) = 2 раза.
8) 32*64/8 = 256; 512 байт / 256 = 2 бит пикс; 2^2 = 4 цветов.
9) 128*128/8/1024 = 2; 4 кб / 2 = 2 бит пикс; 2^2 = 4 цветов.
10) 1024*768*16 бит пикс = 12582912 бит / 8 / 1024 / 1024 = 1,5 мбайт.
11) 1024*512/8/1024 = 64; 256 кб / 64 = 4 бит пикс; 2^4 = 16 цветов.
12) 32*128*(ln(64)/ln(2)) бит = 24576 бит / 8 / 1024 = 3 кбайта.
13) 2^24 = 16 777 216 цветов; 1240*1024*(ln(16777216)/ln(2)) бит пикс = 30474240 бит / 8 / 1024  = 3720 кбайт для одной страницы требуется.
 
4,6(13 оценок)
Ответ:
iwanttobelllllive
iwanttobelllllive
24.07.2020
DIM m AS INTEGER, n AS INTEGER
CLS
INPUT "n,m=", n, m
REDIM a(1 TO n, 1 TO m) AS INTEGER
imin = 1: jmin = 1: imax = 1: jmax = 1
RANDOMIZE TIMER
FOR i = 1 TO n
   FOR j = 1 TO m
      t = INT(51 * RND): a(i, j) = t
      PRINT t;
      IF a(imin, jmin) > t THEN
         imin = i: jmin = j
      END IF
      IF a(imax, jmax) < t THEN
         imax = i: jmax = j
      END IF
   NEXT j
   PRINT
NEXT i
PRINT "Sum="; imin + jmin + imax + jmax

Тестовое решение
n,m=8,5
 46  23  13  43  35
 18  47  44  41  37
 45  0  34  30  7
 0  28  27  49  47
 46  18  48  39  11
 2  17  32  43  38
 31  43  15  16  16
 30  32  46  9  31
Sum= 13
4,7(9 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ