Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Напишите программу, которая переводит число в троичную систему счисления (делением на 3). информатика 9 класс

Taya Zhilaiva ххх Ученик (88), на голосовании 2 часа назад
Напишите программу, которая переводит число в троичную систему счисления (делением на 3).
Голосование за лучший ответ
Ярослав Пьянков Знаток (383) 1 месяц назад
А, я думал в 9 классе учите как создавать папку
Святослав Ясновидец Мыслитель (7254) 1 месяц назад
def decimal_to_ternary(decimal_number):
"""
Переводит десятичное число в троичную систему счисления методом деления на 3.

Аргументы:
decimal_number: Целое десятичное число для перевода.

Возвращает:
Строку, представляющую число в троичной системе счисления.
Возвращает "0", если входное число равно 0.
Возвращает None, если входное число не является целым или отрицательным.
"""

if not isinstance(decimal_number, int) or decimal_number < 0:
return None # Обработка неверного ввода: не целое число или отрицательное

if decimal_number == 0:
return "0" # Особый случай для числа 0

ternary_string = "" # Инициализируем пустую строку для троичного числа

while decimal_number > 0:
remainder = decimal_number % 3 # Вычисляем остаток от деления на 3
ternary_string = str(remainder) + ternary_string # Добавляем остаток в начало строки
decimal_number = decimal_number // 3 # Целочисленное деление на 3 (получаем частное)

return ternary_string # Возвращаем строку с троичным представлением


# Пример использования программы
if __name__ == "__main__":
try:
decimal_input = int(input("Введите целое десятичное число для перевода в троичную систему: "))
ternary_output = decimal_to_ternary(decimal_input)

if ternary_output is not None: # Проверка на корректный ввод
print(f"Троичное представление числа {decimal_input}: {ternary_output}")
else:
print("Введенное число должно быть целым неотрицательным числом.")

except ValueError:
print("Ошибка ввода: Пожалуйста, введите целое число.")
Святослав Ясновидец Мыслитель (7254) 1 месяц назад
Вот я помог тебе? ??можешь мне перевести денег на карту за помощь? 2204120122128917?
Penis Ivanovich Ученик (187) 1 месяц назад
Если паскаль, то:
program ToTernary;

var
number, remainder: integer;
ternary: string;

begin
writeln('Введите число для перевода в троичную систему:');
readln(number);

if number = 0 then
ternary := '0'
else
begin
ternary := '';
while number > 0 do
begin
remainder := number mod 3;
ternary := chr(remainder + ord('0')) + ternary; // добавляем остаток к строке
number := number div 3; // делим на 3
end;
end;

writeln('Троичное представление числа: ', ternary);
end.
XYZ Просветленный (41184) 1 месяц назад
def decimal_to_ternary(n):
if n == 0:
return "0"

ternary = ""
while n > 0:
remainder = n % 3
ternary = str(remainder) + ternary
n = n // 3

return ternary

# Ввод числа от пользователя
decimal_number = int(input("Введите число в десятичной системе: "))

# Перевод в троичную систему
ternary_number = decimal_to_ternary(decimal_number)

# Вывод результата
print(f"Число {decimal_number} в троичной системе: {ternary_number}")
Сан Санов Искусственный Интеллект (127019) 1 месяц назад
import prikol.decimal_to_ternary;
import java.util.Scanner;
class Main{
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
System.out.print(decimal_to_ternary(a));
}
}
LINK Мыслитель (8170) 1 месяц назад
Вот программа на Python, которая переводит число из десятичной системы счисления в троичную систему счисления:

```python
def decimal_to_ternary(number):
if number == 0:
return "0" # Если число равно 0, сразу возвращаем "0"

is_negative = False
if number < 0:
is_negative = True
number = -number # Работаем с положительным числом для упрощения

ternary = ""

while number > 0:
remainder = number % 3 # Находим остаток от деления на 3
ternary = str(remainder) + ternary # Добавляем остаток в начало строки
number = number // 3 # Делим число на 3 без остатка

if is_negative:
ternary = "-" + ternary # Если число было отрицательным, добавляем минус

return ternary


# Пример использования
if __name__ == "__main__":
try:
num = int(input("Введите целое число: "))
result = decimal_to_ternary(num)
print(f"Троичное представление числа: {result}")
except ValueError:
print("Ошибка: Введите целое число!")
```

### Как работает программа:
1. Проверяется, является ли число нулём. Если да, то сразу возвращается строка `"0"`.
2. Если число отрицательное, сохраняется флаг `is_negative`, а само число преобразуется в положительное.
3. Основной цикл программы выполняет деление числа на 3 и записывает остатки (в троичной системе это цифры 0, 1 или 2).
4. После завершения цикла полученная строка содержит троичное представление числа.
5. Если число было отрицательным, к результату добавляется знак минус.

### Примеры работы:
#### Ввод:
```
Введите целое число: 10
```
#### Вывод:
```
Троичное представление числа: 101
```

#### Ввод:
```
Введите целое число: -45
```
#### Вывод:
```
Троичное представление числа: -1200
```

Эта программа корректно обрабатывает как положительные, так и отрицательные числа, а также случай с нулём.
Андрей Зверев Профи (823) 1 месяц назад
Ну ничего себе люди в комментах загнули. Держи универсальный калькулятор на питоне:

ABC = sorted('0123456789QWERTYUIOPASDFGHJKLZXCVBNM')
def translate(num:int, base:int) -> str:
num_base = ''
while num:
num_base+=ABC[num%base]
num//=base
return num_base[::-1]


Работает он так: print( translate(123, 2) ) - он выведет число 123 в двоичной системе счисления.
для троичной - 2 поменять на 3
Похожие вопросы