siren89
?>

Написать программу нахождения суммы цифр 3-х значного числа pascal abc

Информатика

Ответы

Vetroff-11
Var a,b,c,d:integer;
begin
readln(a);
b:=a mod 10;
c:=b mod 10;
d:= c mod 10;
writeln(b+c+d);
end.
lera4075

1)

A=5

Объяснение:

74 mod A = 4

Остаток меньше делителя, поэтому A>=5

Подставляем 5 в основание системы счисления и проверяем результат.

74/5=14 остаток   4

14/5=2 остаток   4

2/5=0 остаток   2

Десятичное число 27 в пятиричной системе счисления записывается как 244. Следовательно A=5

Как решать подобные задачи.

1.

Согласно правилу перевода десятичного числа M в A-ричную систему, в последний разряд A-ричного числа записывается остаток от M/A. То есть M mod A = R, где R – значение последнего разряда A-ричного числа. Вспоминаем что остаток всегда меньше делителя, поэтому A>=R+1. В рассматриваемой задаче A>=5.

Определение нижней границы значения A, позволяет сузить поиск. В рассматриваемой задаче мы с первого раза вышли на верное значение, но так бывает не всегда.

2.

Представим число M в следующем виде: M=A*B+R, где A - основание системы счисления, а R – остаток. В рассматриваемой задаче эта запись приобретает следующий вид: 74=A*B+4 или 70=A*B. То есть необходимо найти такие целые числа, чтобы их произведение равнялось 70.

Рассмотрим варианты A*B.

1*70

2*35

5*14

7*10

В первом пункте мы выяснили, что A>=5, поэтому первые два варианта отпадают. Остаются варианты 5*14 и 7*10.

Проверив истинность высказываний 74 mod 5 = 4 и 74 mod 7 = 4, убеждаемся, что A=5.

3.

Зная разрядность, также можно производить вычисления.

Обозначим разрядность через N.

N= [L]+1 , где L – значение логарифма от M по основанию A. Квадратные скобки – обозначают целое значение.

В рассматриваемой задаче, число M в A-ричной системе счисления трехзначное. То есть N=3.

3=[L]+1

[L]=2

Для проверки разрядности значения A*B в системе счисления A, следует проверить истинность выражения N= [L]+1.

В рассматриваемой задаче, это условие соблюдается только когда A принимает значения 5, 6, 7 или 8. Только при таких значениях A, число M в A-ричной системе счисления A будет трехзначным.  

Числа 6 и 8 не подходят, поскольку второй множитель B также должен быть целочисленным.

Остаются числа 5 и 7.

Проведя проверку на остаток от деления 74 mod 5 = 4 и 74 mod 7 = 4, получаем искомое значение A=5.

2)

В маске сначала идут единичные биты, затем нулевые. Поэтому 225.248.0.0 и 255.224.192.0 не могут быть масками.

md-masya

program raf105;

var fioa2:array[1..20] of string;

fioa1:string;

m1,g1,m2,g2,i,o:integer;

begin

write('Введите сегодняшнюю дату (месяц, год) через пробел: ');

readln(m1,g1);

g1:= g1*12;

m1:= m1+g1;

writeln;

for i:=1 to 20 do

begin

 write(i,'. Введите фамилию, имя, отчество и адрес сотрудника: ');

 readln(fioa1);

 write('   Дата поступления (месяц, год): ');

 readln(m2,g2);

 writeln;

 g2:= g2*12;

 m2:= m2+g2;

 if m1-m2>=36

   then begin

   o:= o+1;

   fioa2[o]:= fioa1;

   end;

end;

writeln('Сотрудники которые проработали не менее трёх лет:');

for i:=1 to o do

writeln(i,'. ',fioa2[i]);

end.

Язык программирования PascalABC

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

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

Написать программу нахождения суммы цифр 3-х значного числа pascal abc
Ваше имя (никнейм)*
Email*
Комментарий*

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

Ruslan Zarekovkin
Юрьевна174
vdk81816778
kulikovtsud
vlrkinn
socofilesrus4
gurina50
gresovanatalya
Vladimirovich1898
cheremetdiana
T91610933073266
arturo95
Сергеевич
YekaterinaAbinskov
orange-salon-job77