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

Решить задачу на Pascal: Закон Амдала

Параллельное программирование изучает методы построения программ, которые будут выполняться на нескольких процессорах. В результате решения одной из первых задач этого раздела информатики появился закон Амдала.

Задача Амдала формулировалась так. Имеется n процессоров и p процентов вычислений не могут выполняться параллельно. Во сколько раз быстрее можно выполнить вычисления по сравнению с одним процессором?

Например, если n = 10, p = 50, а на одном процессоре все вычисления выполняются за время t. Тогда первая половина вычислений (50%) будет выполнена за время t/(2•10) , а вторая - за время t/2. Общее время вычислений в этом случае составит t/2 + t/20 = 11•t/20, а ускорение по сравнению с одним процессором составит 20/11 раза.

Если же n = 10, p = 25, и на одном процессоре все вычисления выполняются за время t. Тогда 75% вычислений будут выполнены за время 3•t/(4•10) , а оставшиеся 25% - за время t/4 . Общее время вычислений в этом случае составит t/4 + 3•t/40 = 13•t/40, а ускорение по сравнению с одним процессором составит 40/13 раза.

Даны числа n и p. Напишите программу, решающую задачу Амдала.

Входные данные

Входной файл INPUT.TXT содержит 2 целых числа n и p. (1 ≤ n ≤ 1000, 0 ≤ p ≤ 100).

Выходные данные

В выходной файл OUTPUT.TXT выведите ответ на задачу с точностью, не меньшей 10-6.

👇
Открыть все ответы
Ответ:
elisavetto4ka
elisavetto4ka
12.12.2020

ответ на Python:

from random import randint

a,b = [i for i in range(10,51)],[i for i in range(10,51)]

v,p = 0,0

for i in range(int(input())):

   print('Ход номер',i+1)

   q,w = a[randint(1,len(a)-1)],b[randint(1,len(b)-1)]

   v += w

   p += q

   a.remove(q)

   b.remove(w)

   print('Петя вытащил шарик с номером',q,'его счёт равен',p)

   print('Ваня вытащил шарик с номером',w,'его счёт равен',v)

if p>v:

   print('Победил Петя!')

elif p<v:

   print('Победил Ваня!')

else:

   print('Победила дружба!')

Объяснение:

4,7(14 оценок)
Ответ:
pupsikira2
pupsikira2
12.12.2020

#include <iostream>

#include <stack>

using namespace std;

void solve(string &s){

   stack<char> cur;

   for(int i = 0; i < s.size(); i++){

       if(!cur.empty() && ((cur.top() == '(' && s[i] == ')') || (cur.top() == '{' && s[i] == '}') || (cur.top() == '[' && s[i] == ']')))

           cur.pop();

       else cur.push(s[i]);

   }

   if(cur.empty()) cout << "YES";

   else cout << "NO";

}

signed main() {

   string str;

   cin >> str;

   solve(str);

}

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