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

За это 53 ! сделайте программу вычисляющую сумму и произведение цифр шестизначного числа. программа вводит одно число, выводит два числа в разных строках: в первой сумма цифр, во второй произведение. ответ предоставить в виде файла с расширением pas, который содержит текст программы.

👇
Ответ:
emin551
emin551
06.11.2022
Program gt;
var s,p,n,q:integer;
begin
readln(n);
s:=0;p:=1;
while(n>0)do
begin
q:=n mod 10;
s:=s+q;
p:=p*q;
n:=n div 10;
end;
writeln(s,' ',p);
end.
Сохрани программу в расширении pas и всё
4,5(89 оценок)
Открыть все ответы
Ответ:
ULYAVALEREVNA
ULYAVALEREVNA
06.11.2022

Объяснение:

21₁₀ = 1*2⁰ + 0*2¹ + 1*2² + 0*2³ + 1*2⁴ = 10101₂

1111₂ = 1*2⁰ + 1*2¹ + 1*2² + 1*2³ = 15₁₀

10100₂ = 0*2⁰ + 0*2¹ + 1*2² + 0*2³ + 1*2⁴ = 20₁₀ - делится на 4

1110100₂ = 0*2⁰ + 0*2¹ + 1*2² + 0*2³ + 1*2⁴ + 1*2⁵ + 1*2⁶ = 116₁₀ - делится на 4

110101₂ = 1*2⁰ + 0*2¹ + 1*2² + 0*2³ + 1*2⁴ + 1*2⁵ = 53₁₀

1011010₂ = 0*2⁰ + 1*2¹ + 0*2² + 1*2³ + 1*2⁴ + 0*2⁵ + 1*2⁶ = 90₁₀

1111010₂ = 0*2⁰ + 1*2¹ + 0*2² + 1*2³ + 1*2⁴ + 1*2⁵ + 1*2⁶ = 122₁₀

95₁₀ = 1*2⁰ + 1*2¹ + 1*2² + 1*2³ + 1*2⁴ + 0*2⁵ + 1*2⁶ = 1011111₂

67₁₀ = 1*2⁰ + 1*2¹ + 0*2² + 0*2³ + 0*2⁴ + 0*2⁵ + 1*2⁶ = 1000011₂

111011₂ = 1*2⁰ + 1*2¹ + 0*2² + 1*2³ + 1*2⁴ + 1*2⁵ = 59₁₀

10011₂ = 1*2⁰ + 1*2¹ + 0*2² + 0*2³ + 1*2⁴ = 19₁₀

78₁₀ = 0*2⁰ + 1*2¹ + 1*2² + 1*2³ + 0*2⁴ + 0*2⁵ + 1*2⁶ = 1001110₂

11011₂ = 1*2⁰ + 1*2¹ + 0*2² + 1*2³ + 1*2⁴ = 27₁₀

110101₂ = 1*2⁰ + 0*2¹ + 1*2² + 0*2³ + 1*2⁴ + 1*2⁵ = 53₁₀

26₁₀ = 0*2⁰ + 1*2¹ + 0*2² + 1*2³ + 1*2⁴ = 11010₂

-26₁₀ = 10011010₂

4,6(39 оценок)
Ответ:
ardolg
ardolg
06.11.2022
PascalABC.NET 3.3.5, сборка 1660 от 20.04.2018
Внимание! Если программа не работает, обновите версию!

procedure Preobraz(var Stroka:string);
begin
  var bq:=new Queue<(integer,integer)>;
  foreach var m in Stroka.Matches('\s+') do
    bq.Enqueue((m.Index,m.Length));
  var wq:=new Queue<(integer,string)>;
  foreach var m in Stroka.Matches('\S+') do
    if m.Value.Any(t->t in ['0'..'9']) then wq.Enqueue((m.Index,''))
    else wq.Enqueue((m.Index,m.Value));
  Stroka:='';
  var pbi,pwi:integer;
  while (bq.Count>0) and (wq.Count>0) do begin
    (pbi,pwi):=(bq.Peek[0],wq.Peek[0]);
    if pbi<pwi then begin
      Stroka:=Stroka+bq.Peek[1]*' ';
      bq.Dequeue
      end
    else begin
      Stroka:=Stroka+wq.Peek[1];
      wq.Dequeue
      end
    end;
  while bq.Count>0 do begin
    Stroka:=Stroka+bq.Peek[1]*' ';
    bq.Dequeue
    end;
  while wq.Count>0 do begin
    Stroka:=Stroka+wq.Peek[1];
    wq.Dequeue
    end
end;

begin
  var s:=ReadlnString;
  Preobraz(s);
  s:='<'+s+'>'; // чтобы было видно, как работает
  s.Println
end.

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