Найти основание р системы счисления и цифру n, если верно равенство: 33m5n + 2n443 = 55424.пример выполнен в системе счисления с основанием р, m максимальная цифра в этой системе
For p in 6..36 for n in -1) a1 = "33" + (p-1).to_s(p) + "5" + n.to_s(p) a2 = "2" + n.to_s(p) + "443" sum = (a1.to_i(p) + a2.to_i((p) if sum == "55424" puts a1 + " + " + a2 + " = " + sum + "|" + p.to_s() + "|" + n.to_s() end end end 33651 + 21443 = 55424| p=7 | n=1 | m=6 конечно можно и проще, но это ж информатика
гайсанов
21.12.2021
Могу предложить такой вариант - в цикле repeat число вводится как строка и посимвольно проверяется. если введено неправильно - возвращает на ввод, если правильно - преобразует строку в число для дальнейшей работы. var a,err: integer; s: string; i: byte; error: boolean; begin repeat error: =true; writeln ('введите число'); readln (s); for i: =1 to length(s) do begin if (ord(s[i])< 48) or (ord(s[i])> 57) then begin error: =false; writeln ('введено не число'); break; end end; until error=true; val(s,a,err); writeln ('введено число ',a); end. пример: введите число 12o введено не число введите число 120 введено число 120
kokukhin
21.12.2021
Var s: string; p1,p2: integer; begin writeln('введите слово: '); readln(s); p1: =pos('жы',s); p2: =pos('шы',s); if (p1=0)and(p2=0) then writeln('ошибок не замечено.'); if p1> 0 then begin delete(s,p1,2); insert('жи',s,p1); writeln('слово написано с ошибкой.'); writeln('правильное написание - ',s); end; if p2> 0 then begin delete(s,p2,2); insert('ши',s,p2); writeln('слово написано с ошибкой.'); writeln('правильное написание - ',s); end; end.
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Найти основание р системы счисления и цифру n, если верно равенство: 33m5n + 2n443 = 55424.пример выполнен в системе счисления с основанием р, m максимальная цифра в этой системе