// pascalabc.net 3.3.5, сборка 1644 от 23.03.2018// внимание! если программа не работает, обновите версию! function atodec(n: string; k: integer): string; // перевод из системы по основанию k в десятичнуюbegin var s: ='0123456789abcdef'; result: =''; var pointpos: =pos('.',n); if pointpos> 0 then begin // есть дробная часть var sfracpart: =n[pointpos+1: ]; var r: =0.0; var p: =k; foreach var c in sfracpart do begin r+=(pos(c,s)-1)/p; p*=k; end; result: =r.tostring[2: ] end else pointpos: =n.length+1; var pa: =1; n: =n[: pointpos]; var p: =0; foreach var c in n.reverse do begin p+=pa*(pos(c,s)-1); pa*=k end; result: =p.tostring+resultend; function dectoa(n: string; k: integer): string; // перевод из десятичной системы в систему по основанию kbegin var s: ='0123456789abcdef'; result: =''; var pointpos: =pos('.',n); var intpart: integer; if pointpos> 0 then begin // есть дробная часть var fracpart: =frac(n.toreal); var m: =0; while true do begin var r: =fracpart*k; result+=s[trunc(r)+1]; fracpart: =frac(r); m+=1; if (m=15) or (fracpart=0) then break end; intpart: =n[: pointpos].tointeger; end else intpart: =n.tointeger; if result< > '' then result: ='.'+result; while intpart> 0 do begin result: =s[intpart mod k+1]+result; intpart: =intpart div k end; if result='' then result: ='0'; if result[1]='.' then result: ='0'+resultend; function atob(s: string; a,b: integer): string; // перевод из системы по основанию a в систему по основанию bbegin if a=10 then result: =dectoa(s,b) else if b=10 then result: =atodec(s,a) else result: =dectoa(atodec(s,a),b)end; begin var n: =readlnstring('какое число перевести? '); var (a,b): =readinteger2('исходное и результирующее основания: '); writeln(n,'(',a,') = ',atob(n,a,b),'(',b,')'); end. пример какое число перевести? 345.653 исходное и результирующее основания: 8 16 345.653(8) = e5.d58(16)
jenn055
16.11.2020
Язык c++. #include < iostream> using namespace std; int main() { int n; cout < < "введите число, большее 1: " < < endl; cin > > n; for(int i = 1; i< =n; i++) { cout < < i < < endl; } if(n < 1) cout < < "некорректный ввод." < < endl; }