М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
pvale4ka
pvale4ka
20.02.2020 20:25 •  Информатика

Напишите программу, которая в последовательности натуральных чисел определяет сумму всех чисел, кратных 7 и оканчивающихся на 3. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность). Количество чисел не превышает 100. Введённые числа не превышают 300. Программа должна вывести одно число: сумму всех чисел, кратных 7 и оканчивающихся на 3.

👇
Открыть все ответы
Ответ:
paradoksina
paradoksina
20.02.2020
{1}

const
 s:string = 'IVXLCDM';
var
 x,i,l,k:integer;

begin
 read(x); {x < 4000}
 l := 1000;
 i := 4;
 for i := 4 downto 1 do
   begin
   k := x div l mod 10;
   if k = 9 then
     write(s[i*2-1],s[i*2+1])
   else
   if k = 4 then
     write(s[i*2-1],s[i*2])
   else
     begin
     if k >= 5 then
       begin
       write(s[i*2]);
       k := k - 5
       end;
     for k := k downto 1 do
       write(s[i*2-1])
     end;
   l := l div 10
   end
end.

{2}

const
 eps = 1e-10;
 stp = 500;

var
 a: real;
 l,r,m: real;
 extreme: real;

function f(x:real):real;
begin
 f := a*x - exp(-x)
end;

begin
 read(a);
 if a = 0 then
   writeln('No solutions')
 else
 if a > 0 then
   begin
   l := 0;
   r := stp*2;
   while f(r) <= 0 do
     begin
     l := l + stp;
     r := r + stp
     end;
   while r - l > eps do
     begin
     m := (l + r)/2;
     if f(m) > 0 then
       r := m
     else
       l := m
     end;
   m := (l + r) / 2;
   writeln('Solution: ',m:0:5);
   writeln('e^-x = ',exp(-m):0:5);
   writeln('ax = ',a*m:0:5)
   end
 else
   begin
   extreme := ln(-1/a);
   if f(extreme) < 0 then
     writeln('No solutions')
   else
   if f(extreme) = 0 then
     writeln('Solution: ',extreme)
   else
     begin
     {writeln('Extreme: ',extreme);}
          l := extreme;
     r := 0;
     while r - l > eps do
       begin
       m := (l + r)/2;
       if f(m) < 0 then
         r := m
       else
         l := m
       end;
     m := (l + r) / 2;
     writeln('Solution 1: ',m:0:5);
     writeln('e^-x = ',exp(-m):0:5);
     writeln('ax = ',a*m:0:5);
     writeln;
          r := extreme;
     l := r - stp*2;
     while f(l) > 0 do
       begin
       l := l - stp;
       r := r - stp
       end;
     while r - l > eps do
       begin
       m := (l + r)/2;
       if f(m) > 0 then
         r := m
       else
         l := m
       end;
     m := (l + r) / 2;
     writeln('Solution 2: ',m:0:5);
     writeln('e^-x = ',exp(-m):0:5);
     writeln('ax = ',a*m:0:5)
           end
   end
end.

{3}

var
 c: array [1..12] of 0..7;
 x,i,k: integer;

begin
 read(x);
 k := x;
 i := 0;
 repeat
   i := i + 1;
   c[i] := k mod 8;
   k := k div 8
 until k = 0;
 for i := i downto 1 do
   write(c[i])
end.
4,4(36 оценок)
Ответ:
Anutazaitseva2002
Anutazaitseva2002
20.02.2020

program Prog;

var i, MinElement: Integer;

arr: array[1..15] of Integer;

begin

{ задаем значение минимального элемента. изначально

оно дожно быть максимально возможным, так как мы будем

все элементы с ним сравнить и вычислять, какой из них наименьший.

для этого после того, как мы нашли элемент меньше чем имеющийся минимум,

то мы этот минимум изменяем на найденное нами число }

MinElement:=High(Integer); { т.к. будем работать с Integer, то максимум будем брать у Integer,

но вообще еще можно присвоить ему значение первого элемента массива и сравнивать потом с ним }

randomize; { это чтоб заполнить рандом. числами }

// запоолнение массива рандомом

for i:=1 to 15 do begin

 arr[i]:=random(100); { для примера числа будут от 0 до 99 }

 { здесь мы как раз сравниваем с имеющимся минимум и меняем его,

 если нашли элемент меньше }

 if arr[i]<MinElement then

  MinElement:=arr[i]

end;

// вывод всего массива

for i:=1 to 15 do

 write(arr[i], ' ');

writeln;

// вывод минимума

writeln('Минимальный элемент: ', MinElement);

end.

4,4(54 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ