|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.12.2009, 22:49 | #1 |
Пользователь
Регистрация: 07.06.2009
Сообщений: 41
|
число простое или составное
как ето можно сделать? просто я 1 вариант предложил преподу ему непонравилось.
|
17.12.2009, 23:40 | #2 |
Участник клуба
Регистрация: 03.12.2009
Сообщений: 1,013
|
Держи:
Код:
если что сразу поясню: Любое составное число делится на 2 или 3 без остатка, но так как сами эти числа (2 и 3) являются простыми я добавил: Код:
Последний раз редактировалось Базиля; 17.12.2009 в 23:43. |
17.12.2009, 23:45 | #3 |
НашКодинг
Регистрация: 21.05.2009
Сообщений: 9
|
Не знаю какой вариант ты ему предлагал.
1. Перебрать все числа, вплоть до корня из него и поделить с остатком (в си операция выглядит как %, в бейсике и паскале как MOD) 2. Как вариант, забить таблицу простых чисел и прогнать такую же проверку на них. 3. Предложи преподу реализовать Решето Эрастосфена, или http://ru.wikipedia.org/wiki/%D0%A0%...B8%D0%BD%D0%B0 (там, кстати и код есть ) |
17.12.2009, 23:49 | #4 | |
Удален
Форумчанин
Регистрация: 02.12.2009
Сообщений: 309
|
Цитата:
49 - составное число, равное произведению 7 * 7, где 7 - простое число. на 2 и 3 49 не делится чтобы определить простое число X или нет, нужно проверить делимость этого числа на числа, начиная с 2 до корень квадратный из X. Если найдется такое число из промежутка [2; sqrt(X)], на которое X делится без остатка, то X - составное, иначе - простое. это вот так записывается (это для натуральных чисел; отрицательные числа - не простые по определению натурального числа): Код:
Последний раз редактировалось Alex_FF; 17.12.2009 в 23:53. |
|
17.12.2009, 23:53 | #5 | |
Участник клуба
Регистрация: 03.12.2009
Сообщений: 1,013
|
Цитата:
Ну да ладно, не рационально получается |
|
17.12.2009, 23:57 | #6 | |
Удален
Форумчанин
Регистрация: 02.12.2009
Сообщений: 309
|
Цитата:
Произведение любых нескольких простых чисел - число составное. Например, 65537 - простое число, 17 - тоже простое, 1114129 = 65537 * 17 - составное число. |
|
18.12.2009, 00:04 | #7 |
Пользователь
Регистрация: 07.06.2009
Сообщений: 41
|
всем спасибо я сделал так! что скажите?
r-вводим int t=0,k=0; for( int i=2; i<=r; i++){ if(r%i==0 && r/i==1){ t++; break; } if(r%i==0 && r/i!=1){ k++; break; } } if(t==1 && k==0){printf("простое\n");} else{printf("составное\n");} |
18.12.2009, 00:11 | #8 |
Участник клуба
Регистрация: 03.12.2009
Сообщений: 1,013
|
isus
я СИ не знаю( И почему нельзя было сразу в первом посте написать, что делать нужно на СИ? |
18.12.2009, 00:32 | #9 |
Пользователь
Регистрация: 07.06.2009
Сообщений: 41
|
Бразилия...я же непросил делать я просил подать идею)
|
18.12.2009, 00:35 | #10 | |
Удален
Форумчанин
Регистрация: 02.12.2009
Сообщений: 309
|
Цитата:
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Простое любопытство.... | KORT | Свободное общение | 130 | 20.06.2009 19:06 |
Почему размер хэш-таблицы обязательно простое число? | Zefick | Помощь студентам | 4 | 25.12.2008 13:42 |
Оператор амперсанд "&" или число внутри текста | dotvz | Microsoft Office Excel | 2 | 02.04.2008 14:33 |
взаимно простое числы | Cantana | Помощь студентам | 4 | 07.03.2008 08:46 |