Заданы 2 значения натурального числа n(0< =n< =100000000), записанные в десятичной системе счисления с неизвестным основанием a(2< =a< =16). написать программу на, которая определяет неизвестное основание системы счисления.
183
377
Ответы на вопрос:
Dim n as long, m as long, a as integer dim strn1 as string, lngn1 as long, i as integer randomize print "введите число n от 0 до 1 миллиарда: "; input n a = int(rnd (1)*14) + 2 ' случайно выбираем основание от 2 до 16 ' зашифровываем введенное число со случайным основанием i = 0: strn1 = "" do while n > 0 m = n mod a if m = 10 then strn1 = "a" & trim(strn1) elseif m = 11 then strn1 = "b" & trim(strn1) elseif m = 12 then strn1 = "c" & trim(strn1) elseif m = 13 then strn1 = "d" & trim(strn1) elseif m = 14 then strn1 = "e" & trim(strn1) elseif m = 15 then strn1 = "f" & trim(strn1) else strn1 = trim(str(m)) & trim(strn1) end if n = int (n / a) i = i + 1 loop print "число n с неизвестным основанием а: " & strn1 ' зашифровали число, теперь подбираем неизвестное основание lngn1 = 0 for a = 2 to 16 for i = 1 to len(strn1) m = val (mid (strn1, len(strn1) - i + 1, 1)) if trim (str (m)) = "a" then lngn1 = lngn1 + 10*a^(i-1) elseif trim (str (m)) = "b" then lngn1 = lngn1 + 11*a^(i-1) elseif trim (str (m)) = "c" then lngn1 = lngn1 + 12*a^(i-1) elseif trim (str (m)) = "d" then lngn1 = lngn1 + 13*a^(i-1) elseif trim (str (m)) = "e" then lngn1 = lngn1 + 14*a^(i-1) elseif trim (str (m)) = "f" then lngn1 = lngn1 + 15*a^(i-1) else lngn1 = lngn1 + m*a^(i-1) end if next i if lngn1 = n then exit for next a print "неизвестное основание а = " & a end
Язык python a = 2197 # число в 10 сс b = "1000" # число в неизвестно сс, в данном случае 13-ная for i in range(2, 17): try: if a == int(b, i): # команда int пытается прочитать строку b как число в сс i print "основание сс =", i break except: pass else: print "значения а и в не " # если сс подобрать не вышло
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
jullii5507.02.2022 11:47
-
dankalko200120.01.2023 14:09
-
8katenokp08idx28.11.2020 00:43
-
Evgenia60115.08.2021 06:20
-
masgovorchenko09.06.2023 09:29
-
artemkharlamov119.07.2022 22:13
-
мад22824.02.2023 04:33
-
vvi131023.06.2021 18:57
-
Никита023463228.04.2021 10:11
-
kushtueva05.03.2020 16:58
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.