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

Задание 8 Укажите наибольшее десятичное число, при вводе которого на экране сначала напечатается

3, а затем 24.

Паскаль Python

var x, L, M: integer;

begin

readln(x);

L:=0; M:=1;

while x > 0 do begin

L:=L + 1;

if (x mod 2) <> 1 then

M:= M * x mod 8;

x:= x div 8;

end;

writeln(L); write(M);

end.

x = int(input())

L = 0

M = 1

while x > 0:

L = L+1

if (x % 2) != 1:

M = M * x % 8

x = x // 8

print(L)

print(M)

Си++ Алгоритмический язык

#include <iostream>

using namespace std;

int main(void) {

int L, M, x;

cin >> x;

L = 0; M = 1;

while (x > 0) {

L = L + 1;

if (x % 2 != 1) {

M = M * x % 8;

}

x = x / 8;

}

cout << L << “ “ << M;

}

алг

нач

цел x, L, M

ввод x

L := 0

M := 1

нц пока x > 0

L := L + 1

если mod(x,2) <> 1

то

M:= M * mod

(x,8);

x := div(x,8)

все

кц

вывод L, нс, M

кон

ответ: .​

👇
Открыть все ответы
Ответ:
jfjjthvhhcj
jfjjthvhhcj
31.03.2021
Сохранение текстовой информации страницы
1. Выделите фрагмент текста, который хотите сохранить.
2. Щелкните правой кнопкой мыши по выделенному фрагменту и в открывшемся контекстном меню выберите строку Копировать. Выделенный текст
попадет в буфер обмена.
3. Откройте любой текстовый редактор, например Word, создайте новый файл и вставьте содержимое буфера обмена по команде Правка - Вставить.
Что дальше делать с файлом, решайте сами.

Сохранение картинки
Щелкните правой кнопкой мыши по понравившейся картинке. В открывшемся контекстном меню выберите строку Сохранить рисунок как. Далее - как всегда: указываете имя файла и выбираете папку, в которой следует сохранить файл с изображением.

Сохранение всей страницы целиком
1. Выполните команду Файл - Сохранить как файл.
2. В открывшемся окне в поле Тип файла выберите вариант, например HTML-файл с изображениями или веб-страница полностью.



 

3. Как всегда, задайте имя файла и выберите папку, в которой она будет храниться.
Теперь вы в любой момент сможете посмотреть содержимое сохраненной странички, не подключаясь к Интернету.

Сохранение фрагмента страницы
1. Выделите фрагмент страницы, включая не только текст, но и изображения.
2. Щелкните правой кнопкой мыши по выделенному фрагменту и в открывшемся контекстном меню выберите строку Копировать. Выделенный текст попадет в буфер обмена.
3. Откройте текстовый редактор, создайте новый файл и вставьте содержимое буфера обмена по команде Правка - Вставить.

Успешной Вам работы
4,6(30 оценок)
Ответ:
zyxra4
zyxra4
31.03.2021
Такой вариант на простом паскале со стратегией жадность

var
    n, s, i: integer;
    x: array[1..100]of integer;
    answer: string;

begin
    readln(n);
    for i := 1 to n do
        read(x[i]);
    readln(s);
   
    answer := IntToStr(s) + ' = ';
    for i := n downto 1 do
    begin
        answer := answer + IntToStr(s div x[i]) + '*' + IntToStr(x[i]);
        s := s mod x[i];
        if i > 1 then
            answer := answer + ' + ';
    end;
   
    if s <> 0 then
        writeln('NO')
    else
        writeln(answer);
end.

Более полный и правильный вариант решения, но и куда более сложный

//PascalABC.Net 3.1 сборка 1200
uses System.Collections.Generic;
uses System;
var
    x := new List<integer>;
    c := new List<Tuple<string, integer>>;

procedure getParcelling(sum, step: integer; coefficients: string; count: integer);
begin
    if step >= x.Count then begin
        if sum = 0 then c.Add((coefficients, count));
        Exit;
    end;
    if step < 0 then step := 0;
    
    for var j := 0 to (sum div x[step]) do
    begin
        var s := '';
        if j > 0 then begin
            if step > 0 then s += ' + ';
            s += IntToStr(j) + '*' + IntToStr(x[step]);
        end;
        getParcelling(sum - x[step] * j, step + 1, coefficients + s, count + j);
    end;
end;

begin
    x := ReadArrInteger('x:', ReadInteger('n =')).ToList;
    var sum := ReadInteger('sum =');
    
    getParcelling(sum, 0, '', 0);
    if c.Count = 0 then
        writeln('No')
    else begin
        var min := c.Min(cc -> cc.Item2);
        Println(c.Where(cc -> cc.Item2 = min));
    end;
end.
4,5(97 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ