4. В любой системе счисления цифры, используемые для записи чисел должны быть меньше основания системы счисления. В двоичной системе счисления для записи используются 0 и 1, 0<2 и 1<2.
В условии требуется определить минимальное основание, соответственно оно будет больше на единицу, самой большей цифры, используемой в записи числа. Для числа 123 наибольшая цифра - 3, значит минимальное основание будет 4. Для числа 341 - 5. Для чисел 125, 215 - 6.
1+1=10 (ноль пишем, 1 - переходит в старший разряд) Вообще все можно представить так - 1-самая старшая цифра в двоичной с.с. (В десятичной - это 9. При прибавлении в десятичной с.с. к 9 мы получаем 10, так происходит во всех с.с. Только в двоичной самая старшая 1 и, при прибавлении к ней 1 мы получаем также 10) 101011 +101010 1010101 Аналогично при вычитании. Представим число в десятичной с.с, например,1000. Если из него нужно вычесть 1, то мы заберем нужный нам разряд у 1. Тогда последний 0 превратится в 10, а все остальные 0 в 1. 11101 - 1111 1110 Ну, а умножение - это тот же процесс сложения. 10110 1111 10110 + 10110 10110 10110 101001010
Begin S:=0; Repeat Read(A); if (A mod 2 <> 0)and(A mod 7 = 0) then S:=S+A; Until A = 0; WriteLn('S = ',S); End.
Теперь объяснение каждой строки:
Var S:longint; i:integer; A:byte; // В эту переменную будет вводится число с клавиатуры. Тип Byte может принимать значения от 0 до 255. Поэтому его как раз хватит.
Begin S:=0; // Тут будет храниться сумма, поэтому переменную следует сперва обнулить.
Repeat // далее начинается цикл Read(A); // эта команда каждый раз считывает с клавы число, и записывает его в переменную A.
if (A mod 2 <> 0)and(A mod 7 = 0) then S:=S+A; //тут проверяется 2 условия, и если они выполняются - к переменной S прибавляется значение переменной А 1 условие: число нечётно, то есть остаток от деления его на 2 не равен нулю (A mod 2 <>0) 2 условие: Число кратно 7, то есть делится без остатка на 7, то есть остаток от деления равен нулю (A mod 7 = 0)
Until A = 0; // Цикл повторяется до тех пор, пока введённое с клавы число не будет равно нулю (A = 0)
WriteLn('S = ',S); // Тут выводится искомая сумма End.
4. В любой системе счисления цифры, используемые для записи чисел должны быть меньше основания системы счисления. В двоичной системе счисления для записи используются 0 и 1, 0<2 и 1<2.
В условии требуется определить минимальное основание, соответственно оно будет больше на единицу, самой большей цифры, используемой в записи числа. Для числа 123 наибольшая цифра - 3, значит минимальное основание будет 4. Для числа 341 - 5. Для чисел 125, 215 - 6.
Объяснение: