Форум программистов, компьютерный форум CyberForum.ru

Закон Амдала - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Возвращение массива из функции http://www.cyberforum.ru/cpp-beginners/thread291008.html
Я знаю, что массив из функции можно вернуть с помощью указателя. Например int* f (int n) { // тело функции int *a= new int; return a; } А как это можно сделать через класс, если эта функция-компонентная функция класса?
C++ [Длинная арифметика]Обращение к большому индексу Бесконечная последовательность битов, предложенная Кеане, равна 001001110001001110110110001… и формируется следующим алгоритмом: вначале записывается 0, потом 001, далее 001001110, то есть, для получения следующего члена, предыдущий записывается дважды, а справа приписывается его отрицание. Элементы этого ряда являются начальными подпоследовательностями Кеане. Требуется написать программу,... http://www.cyberforum.ru/cpp-beginners/thread290983.html
C++ Dev C++
Помогите пожалуйста решить номера задач (2 и 3) в 7 варианте! в проге Dev C++ файл приложил в виде фото...
C++ итератор
скажите как в этой задачи перевести десятичное число в двоичное??? вот условие задачи!!! вот код!! main.h #include <cstdlib> #include <iostream> #include <conio.h> #include "long.h"
C++ Сумма цифр натурального числа посредством рекурсии http://www.cyberforum.ru/cpp-beginners/thread290959.html
Необходимо найти сумму цифр натурального числа используя отдельную функцию с рекурсией. Пару программ писал на простое нахождение суммы цифр натурального числа, а как должно выглядеть с рекурсией - не понимаю. Помогите пожалуйста.
C++ двоичная система перевод из десятичной в двоичную скажите как записать результат в обратном порядке!! #include <iostream> #include <string> using namespace std; void fuck(const int num, string &snum){ if (num%2==0) snum+="0"; подробнее

Показать сообщение отдельно
Temirlan90
132 / 132 / 8
Регистрация: 30.09.2010
Сообщений: 333

Закон Амдала - C++

08.05.2011, 12:12. Просмотров 1973. Ответов 2
Метки (Все метки)

Закон Амдала
(Время: 1 сек. Память: 16 Мб Сложность: 23%)

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

Задача Амдала формулировалась так. Имеется 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.
Примеры
INPUT.TXT
10 50
OUTPUT.TXT
1.818181818

INPUT.TXT
10 25
OUTPUT.TXT
3.076923077

INPUT.TXT
1000 100
OUTPUT.TXT
1.000000000
Не могу понять как это высчитывается...помогите разобраться.

Добавлено через 36 минут
нашел формулу, но не подходит
C++
1
s = 1 / (p + (1 - p) / n);
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru