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

Рекурсивный перевод на С++ Напишите рекурсивную процедуру для перевода десятичного числа в P-ичную систему счисления.

В данной задаче запрещено использовать циклы и массивы.

Входные данные

На вход программе сначала подается значение P (1
Выходные данные

Вывод осуществляйте следующим образом: сначала выведите введённое число в десятичной системе счисления, за ним укажите его систему счисления в круглых скобках, то есть (10), затем поставьте знак "=", после чего выведете результат работы вашей программы — число в P-ичной системе счисления, за ним укажите его систему счисления в круглых скобках. Весь вывод осуществляется без пробелов.

👇
Ответ:
MoonLoveYou
MoonLoveYou
07.03.2021

#include <iostream>

#include <string>

using namespace std;

string fn(unsigned value, unsigned base) {

static string box;

if (!value) {

auto x = box;

box.clear();

return string(x.rbegin(), x.rend());

}

box += to_string(value % base);

value /= base;

return fn(value, base);

}

int main() {

unsigned base, value;

cin >> base >> value;

auto result = fn(value, base);

cout << value << "(10)=" << result << "("<< base << ")\n";

system("pause > nul");

}

4,4(74 оценок)
Открыть все ответы
Ответ:
IvanMalin1
IvanMalin1
07.03.2021

ответ на Python:

a = list(map(int,input().split())) #Принимаем массив из одной строки

s = 0 #Счётчик

for i in range(len(a)-2): #Проход по массиву до пред-предпоследнего элемента

   if a[i] == (a[i+1] + a[i+2]) / 2: # Проверяем, является ли этот элемент средним арифметическим 2-х следующих

       s += 1 #Прибавляем счётчик

print(s) #Выводим ответ

Или вот:

a = list(map(int,input().split()))

s = 0

for i in range(len(a)-2):

   a1 = a[i+1]

   a2 = a[i+2]

   if a[i] == (a1 + a2) / 2:

       s += 1

print(s)

Объяснение:

4,4(12 оценок)
Ответ:
zhenyafedorisch
zhenyafedorisch
07.03.2021

Цикл while также используется для повторения частей кода, но вместо зацикливания на n количество раз, он выполняет работу до тех пор, пока не достигнет определенного условия. Давайте взглянем на простой пример:

Python

i = 0

while i < 10:

   print(i)

   i = i + 1

1

2

3

4

i = 0

while i < 10:

   print(i)

   i = i + 1

Цикл while является своего рода условным оператором. Вот что значит этот код: пока переменная i меньше единицы, её нужно выводить на экран. Далее, в конце, мы увеличиваем её значение на единицу. Если вы запустите этот код, он выдаст от 0 до 9, каждая цифра будет в отдельной строке, после чего задача будет выполнена. Если вы удалите ту часть, в которой мы увеличиваем значение i, то мы получим бесконечный цикл. Как правило – это плохо. Бесконечные циклы известны как логические ошибки, и их нужно избегать. Существует другой вырваться из цикла, для этого нужно использовать встроенную функцию break. Давайте посмотрим, как это работает:

Python

while i < 10:

   print(i)

   

   if i == 5:

       break

   

   i += 1

1

2

3

4

5

6

7

while i < 10:

   print(i)

   

   if i == 5:

       break

   

   i += 1

В этой части кода мы добавили условное выражение для проверки того, равняется ли когда-либо переменная i цифре 5. Если нет, тогда мы разрываем цикл. Как вы видите в выдаче кода, как только значение достигает пяти, код останавливается, даже если мы ранее указали while продолжать цикл, пока переменная не достигнет значения 10. Обратите внимание на то, что мы изменили то, как мы увеличиваем значение при Это удобный ярлык, который вы можете также использовать в других операциях, таких как вычитание -= и умножение *=. Встроенный break также известен как инструмент управления потока. Существует еще один, под названием continue, который в основном используется для пропуска итерации, или перейти к следующей итерации. Вот один из его применения:

Python

i = 0

while i < 10:

   if i == 3:

       i += 1

       continue

   

   print(i)

   if i == 5:

       break

   

   i += 1

1

2

3

4

5

6

7

8

9

10

11

12

i = 0

 

while i < 10:

   if i == 3:

       i += 1

       continue

   

   print(i)

   if i == 5:

       break

   

   i += 1

Слегка запутанно, не так ли? Мы добавили второе условное выражение, которое проверяет, не равняется ли i трем. Если да, мы увеличиваем переменную и переходим к следующему циклу, который удачно пропускает вывод значения 3 на экран. Как и ранее, когда мы достигаем значения 5, мы разрываем цикл. Существует еще одна тема, касающаяся циклов, которую нам нужно затронуть – это оператор else.

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