Как решить значение арифметического выражения: 2∙9^10 – 3^5 + 5 записали в системе счисления с основанием 3. сколько цифр «2» содержится в этой записи?
PascalВыделить код1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 uses crt; var s,s1:string; c:char; i,j,k:byte; begin writeln('Введите строку'); read(s); s1:=s;{сделаем копию строки, если строка не нужна, то можно и не делать} i:=1; while i<length(s1) do begin c:=s1[i];{запомним символ} k:=0; for j:=length(s1) downto i+1 do{с конца строки ищем такие же} if s1[j]=c then{если есть} begin k:=1;{фиксируем} delete(s1,j,1);{удаляем} end; if k=1 then delete(s1,i,1){если не один, удаляем} else i:=i+1;{иначе проверяем следующий} end; writeln('Символы по 1 разу'); if s1='' then write('Таких символов нет') else write(s1); end.
Вот тебе простой вариант ришение задачи (коментар=пояснение)
PascalВыделить код
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 program prg; uses crt; var rez,chislo,min,max:integer; begin Write('Enter number = ');readln(chislo); //zanosim 1 chislo max:=chislo; //v max ta min min:=chislo; //chtobu potom mu soukb sravnivat s drugimi chislamu while (chislo<>0) do //zapuskaem zikl poka mu ne napishem 0 begin if (chislo>max)then max:=chislo; //sravnivaem s max if (chislo<min) then min:=chislo; //sravnivaem s min readln(chislo); //snova pihem chislo end; rez:=(max-min); //nahodim raznizy writeln('max(',max,') - min(',min,') = ',rez); //otvet end.
В 3-ричной системе = 122222222222222200012
Кол-во цифр 2 = 16
2∙9^10 – 3^5 + 5 = 2∙3^20 - 3^5 + 3^1 + 2
2∙3^20 - 3^5 (3)= 122222222222222200000 : 20-5 = 15 двоек
+ 2 - дает еще одну двойку
ответ 15+1 = 16