87

Посчитайте количество десятичных натуральных чисел, не превосходящих 63, при…

14 апреля 2023

Посчитайте количество десятичных натуральных чисел, не превосходящих 63, при записи которых в четверичной системе счисления результат будетзаканчиваться на две одинаковые цифры —- ответ 15… главное решение) и подробное обьяснение, я слоупок в этом -_-

категория: информатика



44

Суть алгоритма: 0) счетчик одинаковывых цифр устанавливаем в с: =0; 1) Организуем цикл от 1 до 63 2) Каждое из этих чисел переводим в 4-ичную систему счисления 3) Переводим 4-ичное число в строку.4) Если длина строки=2 символа то сравниваем второй и первый символ если равны то c: =c+1; 5) Если длина строки=3 символа то сравниваем второй и третий символ если равны то c: =c+1; 6) Печать результата 7) Выход Program Count; Uses Crt; var i,c,l: integer; s,s2: string; Function FromDec (n: string; radix: longint): string; var S: string; i,m: longint; const digit: string[36]='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'; beginm: =0; for i: =1 to length (n) do m: =m*10+(Ord (n[i]) -48); S: ='; repeat s: =digit[ (m mod radix)+1]+s; m: =m div radix; until m=0; FromDec: =s; End; function IntToStr (I: Longint): String; var S: string[11]; begin Str (I, S); IntToStr: =S; end; {Основная программа}begin clrscr; c: =0; for i: =1 to 63 do begin s2: =IntToStr (i); s: =FromDec (s2,4); l: =length (s); if (l=2) then if (s[2]=s[1]) then c: =c+1; if (l=3) then if (s[l]=s[l-1]) then c: =c+1; end; writeln ('Количество одинаковых: ',c); readkey; end.

Знаете ответ?


Есть интересный вопрос? Задайте его нашему сообществу, у нас наверняка найдется ответ!
Делитесь опытом и знаниями, зарабатывайте награды и репутацию, заводите новых интересных друзей!
Задавайте интересные вопросы, давайте качественные ответы и зарабатывайте деньги. Подробнее...