Montanaa
5 / 5 / 1
Регистрация: 21.03.2011
Сообщений: 79
|
|
#1 | |
Использование алгоритмов STL - C++11.10.2011, 18:19. Просмотров 1803. Ответов 23
Метки нет Все метки)
(
Здравствуйте.
Ребят пожалуйста решите 2 простенькие задачки, потратьте немного своего времени, очень прошу. Заранее огромное спасибо вам! 1) Дана последовательность целых чисел. Определить, является ли сумма элементов простым числом. 2) Дана последовательность целых чисел. Вставить новый элемент после всех элементов, которые заканчиваются на заданную цифру. Пожалуйста !
0
|
|
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
|
11.10.2011, 18:19 |
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Использование алгоритмов STL (C++):
23
Реализация алгоритмов библиотеки STL - C++ Примеры алгоритмов для STL map - C++ Продемонстрировать работу алгоритмов STL copy, и max_element - C++ Сортировка списка строк с использованием стандартных алгоритмов библиотеки STL - C++ Как скопировать массив в вектор одной строкой без использования циклов и алгоритмов STL? - C++ использование stl - C++ |
magirus
|
11.10.2011, 18:22
#2
|
Не по теме: а стл тут причем?
0
|
Montanaa
5 / 5 / 1
Регистрация: 21.03.2011
Сообщений: 79
|
|
11.10.2011, 18:26 [ТС] | #3 |
в STL вроде как алгоритмы для этого есть, или нет?
библиотека numeric
1
|
diagon
Higher
|
|||||||||||
11.10.2011, 18:31 | #4 | ||||||||||
Непонятно, на кой здесь STL, но можно как-то так
1)
Добавлено через 2 минуты Кстати да, тогда можно так
1
|
Заблокирован
|
|
11.10.2011, 18:32 | #5 |
Есть алгоритм для подсчета суммы последовательности. Называется он, если память не изменяет, std::accumulate. Находите с помощью него сумму, а дальше уже сами определяете, является ли сумма простым числом, или нет.
Для второй задачи нужно выбрать разновидность алгоритма std::find для поиска последнего вхождения числа в последовательность с заданной последней цифрой. А затем вставляете туда новое число тем методом, который определен для вашей последовательности. Кстати сказать, вы должны определиться, в каком виде задана ваша последовательность.
1
|
Nameless One
![]() 5781 / 3430 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
|
||||||
11.10.2011, 18:38 | #6 | |||||
Не по теме: Хе, опоздал
1
|
Montanaa
5 / 5 / 1
Регистрация: 21.03.2011
Сообщений: 79
|
|
11.10.2011, 18:40 [ТС] | #7 |
Спасибо огромное друзья !
А вторую задачку не можете тоже написать ?
0
|
diagon
Higher
|
||||||
11.10.2011, 18:45 | #9 | |||||
Не придумал, как решить красиво, только так
1
|
Montanaa
5 / 5 / 1
Регистрация: 21.03.2011
Сообщений: 79
|
|
11.10.2011, 19:30 [ТС] | #11 |
Еще вопросец. Для чего в 1ой задаче, в цикле "for (int i = 2, sq = sqrt(x); i <= sq; ++i)" cтоит корень из Х и почему его не воспринимает Вижуал Студио ?
0
|
Заблокирован
|
|
11.10.2011, 19:39 | #12 |
Наверное потому, что это имя из пространства имен std. Используйте запись std::sqrt.
0
|
Montanaa
5 / 5 / 1
Регистрация: 21.03.2011
Сообщений: 79
|
|
11.10.2011, 19:44 [ТС] | #13 |
0
|
aeshes
442 / 205 / 13
Регистрация: 07.10.2011
Сообщений: 462
|
|
11.10.2011, 19:51 | #14 |
нет, проблема в том, что вы ей передаете целое число
напишите sqrt((double)x) или sqrt(x+0.0)
0
|
Заблокирован
|
|
11.10.2011, 19:52 | #15 |
Что означает ваше "нет"?!
Квадратный корень там используется для того, что не имеет смысла перебирать все числа, меньше заданного числа, чтобы проверить, что оно является простым. Квадратный корень дает верхнюю оценку того, что, какие делители имеет смысл проверять, чтобы убедиться, что число простое. Добавлено через 36 секунд Какие могут быть проблемы с тем, что функции передается целое число?! Не объясните?!
0
|
11.10.2011, 19:52 | |
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
|
11.10.2011, 19:52 |
Привет! Вот еще темы с ответами:
15
Использование STL в DLL-файлах - C++ Использование стандартных компонентов stl - C++ Использование двух контейнеров из STL - C++
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |