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

Программист нанотехнологов Ограничение времени 1 секунда
Ограничение памяти 64.0 Мб
Ввод стандартный ввод или input.txt
Вывод стандартный вывод или output.txt
Программист ученым-нанотехнологам. Он увлекся и работал всю ночь над результатами испытаний излучателей частиц. У него был бумажный список оценок, выставленных экспертами по результатам испытаний. К сожалению, программист любит пить кофе на рабочем месте. И список с результатами сильно пострадали, когда он под утро заснул и опрокинул чашку на стол. Теперь названия излучателей разобрать невозможно. Остались только полученные каждым излучателем оценки экспертов. Расположены результаты излучателей в том порядке, в котором они испытывались.

Некоторый излучатель интересует ученых (назовем его «Оптимум»). Программист знает, что количество очков Оптимума заканчивается на 5, а результат получившего максимальную оценку излучателя указан в списке где-то выше данных Оптимума. Также известно, что сразу после оценки Оптимума записана оценка некоторого нестабильно работающего излучателя, которая меньше оценки Оптимума. Теперь перед программистом поставлена задача определить, какое самое высокое место по оценкам экспертов мог занять Оптимум в этом испытании.

Будем считать, что излучатель занял k-е место, если ровно (k – 1) излучателей получили строго большую оценку, чем он. При этом максимальную оценку экспертов могли получить w излучателей. При этом они все будут считаться лучшими.

Требуется программисту и написать программу, которая по заданным результатам испытаний определяет, какое самое высокое место мог занять Оптимум по оценкам экспертов.

Формат ввода
Первая строка входного файла содержит целое число n — количество излучателей, участвовавших в испытаниях (3 ≤ n ≤ 100 000). Вторая строка входного файла содержит n положительных целых чисел, каждое из которых не превышает 1000, — очки, полученные излучателями, которые приведенные в том порядке, в котором излучатели испытывались.

Формат вывода
В выходном файле должно содержаться одно целое число — самое высокое место, которое мог занять Оптимум. Если не существует ни одного излучателя, который удовлетворяет, описанным выше условиям, выведите в выходной файл число 0.

Пример 1
Ввод Вывод
7
10 20 15 10 30 5 1 6

Пример 2
Ввод Вывод
3
15 15 10 1

Пример 3
Ввод Вывод
3
10 15 20 0

👇
Открыть все ответы
Ответ:
stovhelen
stovhelen
25.11.2021
Язык C++.
1. #include <iostream>
using namespace std;
int main() {
    int i;
    cout <<"Введите число: " << endl;
    cin >> i;
    cout << "Вы ввели число: " << i << endl;
    }

2. #include <iostream>
using namespace std;
int main (){
    int i;
    cout << "Vvod" << endl;
    cin >> i;
    i %= 10;
    if(i %2 != 0)
    cout << "Нечетная" << endl;
    else
    cout << "Четная" << endl;
    }

3. #include<iostream>
using namespace std;
int main (){
for(int k = 0; k<4; k++){
cout << "random number = " << rand() << endl;
}
}

4. #include <iostream>
using namespace std;
int main(){
int i,a,b,c;
cin >> i;
c = i%10;
b =(i/10)%10;
a = i/100;
if(i*i==a*a*a+b*b*b+c*c*c)
cout<<"Является."<<endl;
else 
cout<<"Не является."<<endl;
}

5. #include <iostream>
#include <cmath>
const double pi = 3.1415926536;
using namespace std;
int main(){
    float x = 0;    cout << "Введите x: " << endl;
    cin >> x;
    cout << "y = " <<  sin((pi*(3.2+(sqrt(1+x))))/180)/abs(5*x) << endl;
    }

Добавляем "pi" и делим на 180, чтобы "sin" был в градусах.

Блок-схемы смотри во вложении.
1. написать программу и составить к программе блок-схему. составить программу вывода на экран числа,
1. написать программу и составить к программе блок-схему. составить программу вывода на экран числа,
4,4(64 оценок)
Ответ:
залина061
залина061
25.11.2021
Var
  n,k,i,j,r,s:longint;
  notfound,flag:boolean;

begin
  Read(k,n); { начальное и конечное значение интервала }
  notfound:=True;
  for i:=k to n do begin
    flag:=True; j:=2;
    r:=round(sqrt(i));
    while flag and (j<=r) do
      if i mod j = 0 then flag:=false
      else Inc(j);
    if flag then begin { нашли простое число i }
      s:=0; r:=i;
      repeat
        s:=s+r mod 10;
        r:=r div 10
      until r=0;
      if s mod 2=0 then begin Write(i,' '); notfound:=False end;
      end
    end;
    if notfound then Writeln(0)
end.

Примеры
100 150
101 103 107 109 127 149

40 50
0

2 1000
2 11 13 17 19 31 37 53 59 71 73 79 97 101 103 107 109 127 149 163 167 181 211 233 239 251 257 271 277 293 307 347 349 367 383 389 419 431 433 439 457 479 491 499 503 509 521 523 541 547 563 569 587 613 617 619 631 653 659 673 677 691 701 709 727 743 761 769 787 811 839 853 857 859 877 907 929 941 947 967 983
4,4(15 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ