Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.10.2012, 19:43   #1
KuPuJIJI
Пользователь
 
Аватар для KuPuJIJI
 
Регистрация: 15.10.2012
Сообщений: 11
Лампочка Простые числа.

Помогите пожалуйста решить задачу. Найти все простые числа <=N. желательно на языке С.
ICQ-632296180
KuPuJIJI вне форума Ответить с цитированием
Старый 23.10.2012, 19:48   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну а ты в низ темы смотрел? В Список похожих тем?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.10.2012, 20:09   #3
KuPuJIJI
Пользователь
 
Аватар для KuPuJIJI
 
Регистрация: 15.10.2012
Сообщений: 11
По умолчанию

Искал но, что то похожие по составлению алгоритма на просты числа не могу найти...(((
Вот и прошу помощи....
ICQ-632296180

Последний раз редактировалось KuPuJIJI; 23.10.2012 в 20:42.
KuPuJIJI вне форума Ответить с цитированием
Старый 25.10.2012, 11:41   #4
rmv240899
Форумчанин
 
Регистрация: 18.02.2012
Сообщений: 155
По умолчанию

1.Перебираем все числа от 1 до N/2, внутри цикла:
Код:
if(!(N%i))
{
    // уже не простое!!!
    break;
}
Если не было ни одного вхождения в if, значит число простое.
rmv240899 вне форума Ответить с цитированием
Старый 25.10.2012, 13:01   #5
KuPuJIJI
Пользователь
 
Аватар для KuPuJIJI
 
Регистрация: 15.10.2012
Сообщений: 11
По умолчанию

Спасибо большое
ICQ-632296180
KuPuJIJI вне форума Ответить с цитированием
Старый 26.10.2012, 09:44   #6
Olzhas-KazNU
 
Регистрация: 26.10.2012
Сообщений: 4
По умолчанию

Код:
#include <stdio.h>
    #define N 200
    
    unsigned int a[N];
    void main(){
     
       for(int i=0; i<N; i++){
           a[i] = i;
       }
    
       a[1]=0;
       for(int s=2; s<N; s++){
           if(a[s]!=0){
               for(int j=s*2; j<N; j+=s){
                   a[j]=0;
               }
           }
       }
       for(i=0; i<N; i++){
           if(a[i]!=0){
                printf("%d\n", a[i]);
           }
       }
	}
вот исходник, вроде работает



___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 26.10.2012 в 11:38.
Olzhas-KazNU вне форума Ответить с цитированием
Старый 28.10.2012, 13:29   #7
KuPuJIJI
Пользователь
 
Аватар для KuPuJIJI
 
Регистрация: 15.10.2012
Сообщений: 11
По умолчанию

Спасибо большое за помощь!
ICQ-632296180
KuPuJIJI вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Простые числа swimming1 Помощь студентам 1 03.06.2012 09:11
простые числа. stil Помощь студентам 3 27.05.2012 17:13
Задачи в ТурбоПаскаль: найти числа Армстронга и просуммировать числа в последовательности номера которых простые числа Lena1808 Помощь студентам 1 17.05.2012 08:00
Простые числа baha-krg Паскаль, Turbo Pascal, PascalABC.NET 0 03.04.2012 14:33
Простые числа Verochka Помощь студентам 14 02.12.2008 20:30