|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
27.02.2013, 01:00 | #1 |
Пользователь
Регистрация: 23.04.2012
Сообщений: 82
|
Простые шестизначные числа
Здравствуйте! Напишите, пожалуйста, программу, которая бы выводила все простые шестизначные числа с суммой цифр, равной К.
|
27.02.2013, 15:17 | #2 |
Улыбаемся :)
Пользователь
Регистрация: 18.12.2012
Сообщений: 74
|
Самый простой, НО не очень корректный вариант.
Код:
Не забываем про весы.
|
27.02.2013, 20:11 | #3 |
Форумчанин
Регистрация: 25.04.2010
Сообщений: 254
|
О простых числах представление своеобразное...
помогать студентам - моя вторая профессия
|
27.02.2013, 21:33 | #4 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
|
27.02.2013, 21:40 | #5 |
Улыбаемся :)
Пользователь
Регистрация: 18.12.2012
Сообщений: 74
|
Я нули не учитывал, т.к. отсчитывал от всех 1 до всех 9, принципе исправляется довольно просто.
хм, хотя верно, в моем случае, нулей вообще не будет. Благодарю за внимательность. Код:
Не забываем про весы.
Последний раз редактировалось KooKish; 27.02.2013 в 21:43. |
27.02.2013, 22:41 | #6 |
Регистрация: 13.02.2013
Сообщений: 5
|
Собственно вот. Вроде все правильно выдает, только вычисляет долго:
Код:
|
27.02.2013, 22:55 | #7 |
Регистрация: 13.02.2013
Сообщений: 5
|
Чёт совсем не то выводит...
Последний раз редактировалось programmerhpkk; 28.02.2013 в 02:57. |
28.02.2013, 01:15 | #8 |
Пользователь
Регистрация: 23.04.2012
Сообщений: 82
|
Программа должна выводить все ПРОСТЫЕ шестизначные числа.
|
28.02.2013, 02:56 | #9 |
Регистрация: 13.02.2013
Сообщений: 5
|
Ну моя и выводит все ПРОСТЫЕ шестизначные числа с суммой цифр, равной К.
Вот в процесе вывода, просто ждать пока весь цикл пройдет лень было. |
28.02.2013, 08:01 | #10 | ||
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Цитата:
"Лесенка" в коде немножко странно выполнена поэтому трудно с первого взгляда понять, что именно делается. Цитата:
Если пытаться подправить существующий код, то следует: 1. Проверку на простоту достаточно проводить по максимуму до sqrt(i), а не до i. 2. Цикл проверки на простоту можно прерывать, когда найден первый делитель, не обязательно искать все. 3. Целесообразно сначала подсчитывать сумму цифр (как менее ресурсоемкую операцию) и только потом - по условию - проверку на простоту (как более ресурсоемкую). 4. Перебор достаточно осуществлять только по нечетным числам, проверку на делимость начиная с 3. Ну а по-хорошему, нужно менять алгоритм, тогда 99% времени будет тратиться только на вывод на экран: 1. Составить таблицу простых чисел в диапазоне 1000000-999999 (решето Эратосфена). 2. Просмотреть таблицу, для простых подсчитать сумму цифр, при нужной сумме - вывод на печать. Минус такого алгоритма - необходимо несколько десятков Кбайт памяти (в простейшем случае 55К). Последний раз редактировалось s-andriano; 28.02.2013 в 08:06. |
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Даны целые числа р и q. Получить все делители числа q, взаимно простые c г. | Владан | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 03.12.2012 23:39 |
Задачи в ТурбоПаскаль: найти числа Армстронга и просуммировать числа в последовательности номера которых простые числа | Lena1808 | Помощь студентам | 1 | 17.05.2012 08:00 |
Простые числа... | cbuilderx | Помощь студентам | 3 | 08.03.2012 22:25 |
Простые числа | kuy | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 28.10.2011 14:44 |
Простые числа. С++ | mephistophel | Помощь студентам | 3 | 03.02.2011 22:12 |