Форум программистов, компьютерный форум, киберфорум
Наши страницы

Вывод простых чисел от m до n - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать программу, которая вычисляет значение выражения, и определить ее значение для введенных пользователем значений фактических параметров. http://www.cyberforum.ru/cpp-beginners/thread662460.html
Написать программу, которая вычисляет значение выражения, и определить ее значение для введенных пользователем значений фактических параметров. При этом найти область определения функций и обеспечить...
C++ Определение автоморфности числа Число вводится с клавиатуры. Программу представить в виде функции. http://www.cyberforum.ru/cpp-beginners/thread662459.html
Алгоритм сортировки,ошибка! C++
У меня алгоритм сортировки вставками но вот только не сортирует почему то #include <stdio.h> #include <stdlib.h> #include <iostream> #include <time.h> #include <conio.h> //#define N 1000 ...
подскажите пожалуйста как запихнуть в класс конструктор C++
по лабораторной задание: создать программу которая решает заданный интеграл методом трапеций...тра-ля-ля...создавать с учетом возможностей ООП...тра-ля-ля....программа должна содержать конструктор! ...
C++ Количество знаков после запятой http://www.cyberforum.ru/cpp-beginners/thread662449.html
Добрый вечер! Подскажите пожалуйста, как убрать округление результата и чтобы было 4 знака за запятой? Вот нашёл 2 варианта как сделать это и да, это работает, но вот только это выводится...
C++ Вычислить матричное выражение. [VISUAL STUDIO] Народ, помогите, пожалуйста, с лабой: Дано выражение: e=(a+b*v)*C e, a, b, v - векторы, С - матрица. Нужно вычислить e. решение оформить в виде набора функций. подробнее

Показать сообщение отдельно
EMBY
Заблокирован

Вывод простых чисел от m до n - C++

02.10.2012, 22:36. Просмотров 1512. Ответов 3
Метки (Все метки)

Здравствуйте!
Возникла проблемка с задачкой. Требуется вывести все простые числа от m до n, при условии, что 2<=m<=n<=1000000. Если нет простых, то вывести "Absent". Время 6 с.
1 проблема заключается в выводе "Absent". Почему-то, она его либо не выводит(если m=n),либо(если n не простое) она пишет все простые числа от m до n и вместо n пишет "Absent".
2 проблема заключается во времени выполнения программы, если числа больше 10000, то она уже перескакивает ограничение по времени. Я могу попробовать сделать через массив, но мне надо именно без него. Подскажите, что делать. Буду благодарен!
Вот код:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include "stdafx.h"
#include <stdio.h>
#include <clocale>
#include <math.h>
 
 
int _tmain(int argc, _TCHAR* argv[])
{  
 setlocale(LC_ALL,"RUSSIAN");
 setlocale(LC_ALL,"rus");
 
 
 
 long  c,m,i,n,d=0;
 long  del=0;
 bool prostota;
 printf("Программа для вывод всех простых чисел от M до N включитально\n");
 
//Начальная инициализация
 printf("Введите 2 простых числа\n");
 scanf("%d", &m);
 scanf("%d", &n);
 
//Решение
 for(i=m; i<=n;i++)
 {   
     prostota=true;
     for (del=2; del<=ceil( sqrt ((float)i));del++)
     {if (i%del==0 && i!=del)
     {
      prostota=false;
      break;
     }
     }
     if(prostota && m!=n)
     {
     printf("%d\n",i);
     }
    
 } if(!prostota && m!=n )
   printf("absent\n");
     
 
 getchar();
 getchar();
 return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru