kalterbrun
?>

Решить: дано натур число, определить, какая цифра встречается в нем чаще: 0 или 9? (через string)

Информатика

Ответы

Елизавета Александр2011
Var m, z, n, l, i: integer; s: string; begin       readln (m);       str (m, s);       l : = length (s);       z : = 0;       n : = 0;       for i : = 1 to l do       if s[i] = '0' then inc(z) else if s[i] = '9' then inc(n);       if z < n then write('цифра 9 встречается чаще цифры 0') else       if z > n then write('цифра 0 встречается чаще цифры 9') else       if (z = 0) and (n = 0) then write('цифры 0 и 9 не присутствуют в данном числе'); end.
kettikis

318(10) -> 100111110(2)

объяснение:

mod (вычисление остатка от целочисленного деления)

318 / 2 = 159. 318 mod 2 = 0

159 / 2 = 79. 159 mod 2 = 1

79 / 2 = 39. 79 mod 2 = 1

39 / 2 = 19. 39 mod 2 = 1

19 / 2 = 9. 19 mod 2 = 1

9 / 2 = 4. 9 mod 2 = 1

4 / 2 = 2. 4 mod 2 = 0

2 / 2 = 1. 2 mod 2 = 0

1 / 2 = 0. 1 mod 2 = 1

174(10) -> 10101110(2)

объяснение:

174 / 2 = 87. 174 mod 2 = 0

87 / 2 = 43. 87 mod 2 = 1

43 / 2 = 21. 43 mod 2 = 1

21 / 2 = 10. 21 mod 2 = 1

10 / 2 = 5. 10 mod 2 = 0

5 / 2 = 2. 5 mod 2 = 1

2 / 2 = 1. 2 mod 2 = 0

1 / 2 = 0. 1 mod 2 = 1

202(10) -> 11001010(10)

объяснение:

202 div 2 = 101. 202 mod 2 = 0

101 div 2 = 50. 101 mod 2 = 1

50 div 2 = 25. 50 mod 2 = 0

25 div 2 = 12. 25 mod 2 = 1

12 div 2 = 6. 12 mod 2 = 0

6 div 2 = 3. 6 mod 2 = 0

3 div 2 = 1. 3 mod 2 = 1

1 div 2 = 0. 1 mod 2 = 1

408(10) -> 110011000(2)

объяснение:

408 div 2 = 204. 408 mod 2 = 0

204 div 2 = 102. 204 mod 2 = 0

102 div 2 = 51. 102 mod 2 = 0

51 div 2 = 25. 51 mod 2 = 1

25 div 2 = 12. 25 mod 2 = 1

12 div 2 = 6. 12 mod 2 = 0

6 div 2 = 3. 6 mod 2 = 0

3 div 2 = 1. 3 mod 2 = 1

706(10) -> 1011000010(2)

объяснение:

706 div 2 = 353. 706 mod 2 = 0

353 div 2 = 176. 353 mod 2 = 1

176 div 2 = 88. 176 mod 2 = 0

88 div 2 = 44. 88 mod 2 = 0

44 div 2 = 22. 44 mod 2 = 0

22 div 2 = 11. 22 mod 2 = 0

11 div 2 = 5. 11 mod 2 = 1

5 div 2 = 2. 5 mod 2 = 1

2 div 2 = 1. 2 mod 2 = 0

1 div 2 = 0. 1 mod 2 = 1

amxvel7596
While a> 0 do begin q: =a mod 10; b: =b*10+q; a: =a div 10; end; этот фрагмент формирует число, обратное заданному числу а, это число в конце будет находится в ячейке b. для примера рассмотрим короткое число. пусть а=123123> 0 поэтому все команды будут выполняться: q: =a mod 10; остаток от деления  123 на 10:   q=3  b: =b*10+q;     записываем ее в b   b=0*10+3=3 (вот поэтому сначала b должен быть 0) a: =a div 10;   откидываем от а последний разряд: а=12 (берем целую часть деления 123  на 10) идем в начало цикла 12> 0 поэтому все команды будут выполняться: q: =a mod 10; остаток от деления  12 на 10:   q=2 b: =b*10+q;     записываем ее в b   b=3*10+2=32 a: =a div 10;   откидываем от а последний разряд: а=1 (берем целую часть деления 12     на 10) идем в начало цикла 1> 0 поэтому все команды будут выполняться: q: =a mod 10; остаток от деления  1 на 10:   q=1 b: =b*10+q;     записываем ее в b   b=32*10+1=321 a: =a div 10;   откидываем от а последний разряд: а=0 (берем целую часть деления 1     на 10) идем в начало цикла. условие 0> 0 не выполняется, переходим к после цикла. а в b находится число, перевернутое по отношению к исходному.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Решить: дано натур число, определить, какая цифра встречается в нем чаще: 0 или 9? (через string)
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Aleksandrovich-Mayatskikh
Kondratchik Vladimir
zanthia94
pisikak999
Ромеовна1527
Shelchkowa453
bagramyansvetlana
d2904
smalltalkcoffee5
Tkachenko1050
parabolaspb
dmitrijku
Yelfimova-andrei
ryazantseva
Taniagrachev