В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
Fluttershy22102005
Fluttershy22102005
25.09.2022 10:18 •  Информатика

Delphi две простые программы - 1. Даны длины сторон прямоугольного параллелепипеда. Найти его
объем и площадь боковой поверхности.
2. Написать программу, которая определяет, принадлежит ли число N
заданному интервалу |К, L].

Показать ответ
Ответ:

содержится 190 цифр "2"

Объяснение:

Считал в программе на Паскале (скрин окна вывода смотри на приложенной внизу картинке):

// проверено в PascalABC.NET 3.4.2, сборка 1837 от 12.10.2018

var

a, t, x, x1, x2: BigInteger; // степени и основания степеней

y, o, n, y1, y2, c: Integer; // показатели степеней, основание СС, счётчик, константа

s, f: string; // строки- для результата и для поиска

begin

x := 3; // основание степени 1

y := 2020; // показатель степени 1

x1 := 3; // основание степени 2

y1 := 1010; // показатель степени 2

x2 := 9; // основание степени 3

y2 := 600; // показатель степени 3

c := 54; // константа

o := 3; // основание новой системы счисления (можно от 2 до 10)

f := '2'; // искомый символ, их количество считаем в числе в новой СС

s := ''; // пустая строка (тут будет число в новой СС, в формате строки)

n := 0; // счётчик искомых символов

writeln('считаем: ', x, ' в степени ', y, ' минус 2 * ', x1, ' в степени ', y1, ' плюс ', x2, ' в степени ', y2, ' плюс ', c);

a := x ** y - 2 * x1 ** y1 + x2 ** y2 + c;

writeln('в десятичной СС: ', a, ' (число разрядов= ', a.ToString.Length, ')');

t := a;

repeat

s := (t mod o).ToString + s;

if s[1] = f then n += 1;

t := t div o;

until t = 0;

writeln('в СС с основанием ', o, ': ', s, ' (число разрядов= ', s.ToString.Length, ')');

writeln('(число разрядов, содержащих "', f, '" = ', n, ' шт.)');

end.

Ну а так то по идее это задание считается на бумажке, используя знания о системах счисления:

Каждое из этих слагаемых приводится к виду a * 3^b. Получим:

1 * 3^2020

-2 * 3^1010

1 * 3^1200

2 * 3^3

В троичной системе эти числа будут выглядеть как  a000000... (число нулей равно b). То есть, в нашем случае, так:

10000...(всего 2020 нулей)

-20000...(всего 1010 нулей)

1000...(всего 1200 нулей)

2000  (тут всего 3 нуля)

Далее- складываем все положительные слагаемые (их три), по порядку от большего к меньшему. Получим сумму вида  a1 00...00 a2 00...00 a3 000, с большим числом нулей между тремя ненулевыми разрядами (не нужно полностью записывать эти нули, достаточно записать сокращённо, как я записал выше). В нашем случае получим:

100...00100...002000 (троичное число)

Затем вычитаем из этой суммы все отрицательные слагаемые (у нас такое только одно). При вычитании произойдёт последовательное заимствование единицы (в разрядах равных нулю)- вплоть до первого ненулевого разряда. Он уменьшится на единицу, а все нулевые разряды в которых была занята единица, станут равны двум. Вот тут уже нужно будет посчитать число нулевых разрядов, которые были между старшим разрядом в отрицательном слагаемом и ближайшим ненулевым разрядом в ранее полученной сумме- и мы получим число двоек, возникшее в разрядах при вычитании (и, если бы вычитали число начинающееся с единицы, то его старший разряд дал бы ещё одну двойку). Итак, при вычитании мы получим вот что:

 100...00100..00000...002000 (троичное число)

-                           200...000000 (троичное число)

 -----------------------------------------------------------------------

 100...00022..22100...002000 (троичное число)

Жирным шрифтом я выделил разряды, соответствующие 1200-ой и 1010-ой степени тройки. В первом из них была единица, из которой заняли единицу, и она превратилась в ноль. Во втором из них был ноль, из которого вычли два, и (после того как заняли единицу в старшем разряде) получили один (в троичном виде это выглядит как 10-2=1, а в десятичном виде выглядит как 3-2=1).

Посчитаем, сколько разрядов было между этими двумя разрядами:

1200 - 1010 - 1 = 189 (разрядов)

Во всех этих 189 разрядах был ноль, а после вычитания во всех них появились двойки.

И ещё одна двойка была у нас в конце суммы, она никуда не делась и при вычитании.

Поэтому общее число двоек в троичной записи значения этого выражения будет равно:

189 + 1 = 190 (двоек)


Значение арифметического выражения записали в системе счисления с основанием 3. Сколько цифр 2 сод
0,0(0 оценок)
Ответ:
Эльза132004
Эльза132004
22.10.2021 22:55

import java.util.Scanner;

class Main {

   // getter функция, берущая значение у пользователя

   static int getNumb() {

       Scanner numbS = new Scanner(System.in);

       int numb = numbS.nextInt();

       return numb;

   }

   public static void main(String [ ] args) {

      // Инициализация нужных переменных

       int numbs[] = new int[99];

       int i = 0;

       int max = 0;

      // До тех пор, пока не будет введён 0, будет вызываться функция getNumb

       while(true) {

           numbs[i] = getNumb();

           if(numbs[i] == 0) {

               break;

           }

          // Если введённый элемент массива больше переменной max, то ей присваивается этот элемент

           else if(numbs[i] > max) {

               max = numbs[i];

           }

       }

       System.out.print(max);

   }

}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота