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

Спо программированию. в заданном тесте подсчитать количество четырехбуквенных слов и каждое четное из них заменить на сочетание "". слова отделены друг от друга пробелом.

👇
Ответ:
kat243
kat243
19.11.2021
// PascalABC.NET 3.2, сборка 1437 от 03.05.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ReadlnString('->').ToWords;
  var k:=0;
  for var i:=0 to a.Length-1 do
    if a[i].Length=4 then begin
      k+=1;
      if k.IsEven then a[i]:=''
      end;
  Writeln('Четырехбуквенных слов: ',k);
  var s:=a.JoinIntoString(' ');
  Writeln(s)
end.

Пример
-> Мама мыла раму Тамара ела кашу а Даша играла в мяч
Четырехбуквенных слов: 5
Мама раму Тамара ела а Даша играла в мяч
4,8(27 оценок)
Открыть все ответы
Ответ:
adilete840
adilete840
19.11.2021
Более изящное решение :)

Проблема в строке c:= (b*b*b);
Ты ищешь сумму кубов, а для 4-значных чисел нужно искать сумму 4-х степеней. Нужно проверять число а: если от 100 до 999, то выполняем c:= (b*b*b); а если от 1000 до 9999, то выполняем c:= (b*b*b*b); 

Код ниже работает и выдаёт результат:
число Армстронга ==> 153
число Армстронга ==> 370
число Армстронга ==> 371
число Армстронга ==> 407
число Армстронга ==> 1634
число Армстронга ==> 8208
число Армстронга ==> 9474


var a,b,c,d,a2:integer;
begin
for a:=100 to 9999 do begin
d:=0;
a2:=a;
while (a2 <> 0) do begin
b:= a2 mod 10;
a2:= a2 div 10;
if a<1000 then c:= (b*b*b)
      else c:= (b*b*b*b);
d:= d+c;
end;
if (a = d) then writeln('число Армстронга ==> ', a);
end;
end.
4,4(41 оценок)
Ответ:
Zaharza1
Zaharza1
19.11.2021

1

Объяснение:

Для начала посчитаем выражения в первой скобке:

512^78 = 2,1040543606193494028963959531521e+211‬

512^60 = 3,5991310356345571062484308061488e+162‬

Вычитаем: 512^78-512^60 = 2.104054e+211

Теперь во второй:

512^5 = 35 184 372 088 832‬ (35 триллионов 184 миллиарда 372 миллиона 88 тысяч 832)

64^5 = 1 073 741 824‬ (1 миллиард 73 миллиона 741 тысяча 824)

Вычитаем: 35 184 372 088 832 - 1 073 741 824‬ = 35 183 298 347 008‬

Считаем общее выражение:

(512^78-512^60)*(512^5+64^5) = 7.403209e+224

Получается, одна цифра 7.

Надеюсь

4,7(78 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ