vsbrelok
?>

Дан целочисленный массив из 40 элементов, все элементы которого – целые числа в интервале от -500 до 500. Напишите программу, которая находит сумму всех отрицательных элементов массива, которые кратны первому элементу (делятся нацело на первый элемент Гарантируется, что первый элемент массива отрицательный.

Информатика

Ответы

Merkuloff78
1. "Школьное" решение

// PascalABC.Net 3.0, сборка 1066
var
  s,s1:string;
  i:integer;
  a:char;
begin
  Write('Введите натуральное число любой длины :'); Readln(s);
  Write('Введите цифру, которую надо удалить: '); Readln(a);
  s1:='';
  for i:=1 to Length(s) do
    if s[i]<>a then s1:=s1+s[i];
  Writeln('Результат: ',s1)
end.

Тестовый прогон:
Введите натуральное число любой длины :3141592653589793
Введите цифру, которую надо удалить: 5
Результат: 3141926389793

2. Современное решение (так в школе почему-то не учат)

// PascalABC.Net 3.0, сборка 1066
begin
  var s:=ReadString('Введите натуральное число любой длины :');
  var a:=ReadChar('Введите цифру, которую надо удалить: ');
  Write('Результат: ',s.Replace(a,''));
end.
mzubenko6
Проще всего складывать в столбик как обычные десятичные числа, но если в сумме число получится больше 8 (система восмиричная), то мы отнимаем 8, смотрим: меньше ли получившийся остаток 8, если нет, то снова отнимаем восемь и тогда записываем остаток, а в "ум" запишем число отнятых восьмерок

574+467=1263 (все числа в восьмиричной системе счисления)

так, складывая 4 и 7, получаем 11, что больше 8, поэтому отняв 8, получим цифру 3, которую и записываем как последнюю цифру числа (3 пишем, 1 в уме), далее складываем 6 и 7 и не забываем про 1, потому что в раз мы отняли всего одну восьмерку, получаем 14, но записываем только 6, а 1 в уме, затем 5, 4 и 1 - 2 пишем, 1  в уме, далее просто приписываем единицу, получаем 1263

P.S. несмотря на то, что кажется сложно, это немногим отличается от десятичной системы сложения в столбик

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

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

Дан целочисленный массив из 40 элементов, все элементы которого – целые числа в интервале от -500 до 500. Напишите программу, которая находит сумму всех отрицательных элементов массива, которые кратны первому элементу (делятся нацело на первый элемент Гарантируется, что первый элемент массива отрицательный.
Ваше имя (никнейм)*
Email*
Комментарий*

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

Natalya1895
vapebroshop
Elen-ti81459
rusplatok
dmitrievanata83538
seleznev1980
Гарик383
борисовна Елена78
Яковчук1911
Irinalobanowa
cheshirsky-kot
Бражинскене_Алексей
zibuxin6
sveta740450
expozition