Язык программирования - python
Когда Учитель достиг он понял, что должен раздать свои богатства, причём сделать это следующим образом: в первый день разделить все свои золотые монеты на 8 равных частей (счастливое число!), излишки (если таковые будут иметься) пожертвовать храму Будды, оставить себе одну восьмую часть, остальные раздать бедным.
Во второй день вновь разделить оставшиеся монеты на 8 частей и повторить вышеуказанные манипуляции. И продолжать так до тех пор, пока у него не останется так мало монет, что при делении их на 8 равных частей они все окажутся излишком.
Оставшиеся монеты можно оставить себе. Кроме того, Учитель не тратит свои деньги (во всяком случае, в дни после его кормят ученики, а в быту он аскетичен.
Хотя Учитель знает, конечно, сколько у него золотых монет изначально, но он не может сообразить, сколько монет окажется в конце — всё-таки он Учитель духовных практик, а не математики или программирования ему.
Иными словами, найдите первую цифру введённого числа при записи его в системе счисления с основанием 8.
Формат ввода
Одно целое число — изначальное количество монет у Учителя.
Формат вывода
Одно целое число — количество монет, которое останется у Учителя в конце.
i,p:integer;
n:real;
m:longint;
begin
n:=0;
p:=0;
m:=1;
write ('Массив: ');
for i:=1 to 20 do
begin
a[i]:=random(101)-50;
write (a[i],' ');
end;
for i:=1 to 20 do
begin
n:=n+a[i];
end;
n:=n/20;
writeln;
writeln;
write ('Среднее арифметическое = ',n);
for i:=1 to 19 do
begin
if a[20]<>a[i] then p:=p+1;
end;
writeln;
write ('Кол-во чисел отличных от последнего в массиве = ',p);
for i:=1 to 20 do
begin
if a[i]<0 then m:=m*a[i];
end;
writeln;
write ('Произведение отрицательных чисел массива = ',m);
end.
"Ввести натуральное число". Какое число, что оно должно обозначать? Ну хорошо, ввели некое число.
Далее: "Ввести количество чисел". Количество - это значит, СКОЛЬКО чисел будет обрабатываться в программе. Допустим, 10.
И теперь: "Найти произведение...". А где взять значения этих чисел? А нигде! Зато дадут "много ". Ни языка программирования, ни даже намека на то, что нужна программа. А может, программа и не нужна, а нужна блок-схема?
... И только определенный опыт подсказывает, что "Ввести натуральное число" на самом деле означает "Ввести количество чисел", а "Ввести количество чисел" на самом деле подразумевает ввести сами эти числа в указанном количестве.
var
n,m,i:integer;
p:longint;
begin
Write('Количество чисел: '); Read(n);
p:=1;
Writeln('Введите указанное количество целых чисел');
for i:=1 to n do begin
Read(m);
if m<0 then p:=p*m
end;
Writeln('Произведение отрицательных числе равно ',p)
end.
Тестовое решение:
Количество чисел: 6
Введите указанное количество целых чисел
45 -12 -2 6 0 -8
Произведение отрицательных числе равно -192