Найти и вывести на экран первые n простых чисел в С++(желательно без массива)
10-11 класс
|
например так
#include <iostream>
#include <math.h>
using namespace std;
int main(void)
{
int n,count=1,i=2;
cin>>n; int a[n+1]; a[0]=2;
while(count<n)
{
bool b=true;
for(int j=0;j<count;j++)
if(a[j]>sqrtl(i)+1) break;
else
{
if(i%a[j]==0) b=false;
if(b) {a[count]=i; count++;}
i++;
}
}
for(int i=0;i<n;i++) cout<<a[i]<<" ";
return 0;
}
ускорил работу еще немного
слабо без массива( так могу напивсать
а с массивом тогда как?
без массиваконечно можно тупо проверять все числа на простоту и отсчитывать первые н, но с массивом проверка идет эффективнее, ведь проверяем не все делатели, а только простые
Другие вопросы из категории
изображении используется палитра из 256 цветов. Саму палитру хранить не нужно.
Если можно то само решение напишите
а) в зависимости от степени кодирования
Нужно задать массив целых чисел. Вывести на экран только те значения элементов массива, которые встречаются в нем более одного раза, при этом каждое найденное значение должно быть распечатано столько раз, сколько оно встречается.
Читайте также
2.Вывести на экран 10 строк, содержащие символ *, причем количество * в каждой строке должно быть равно номеру строки.
3.Пользователем вводится 2 целых числа. Вывести на экран сумму положительных четных чисел, находящихся в границах диапазона, указанного пользователем.
4. В результате работы программы формируется массив, состоящий из 10 элементов и заполненный случайными числами от 0 до 100. Вывести на экран этот же массив в порядке возрастания.
5.Вводится строка, содержащая буквы и цифры разного регистра (т.е. строчные и прописные буквы). В результате работы программы на экран выводится строка следующего вида: цифры в порядке возрастания, строчные буквы по алфавиту, прописные буквы по алфавиту.
каждый его элемент был равен утроенному значению его порядкового номера (индекса). 3. Ввести массив с клавиатуры, найти и вывести сумму элементов массива. 4. Ввести массив с клавиатуры, подсчитать, сколько в нем положительных элементов, а сколько отрицательных. 5. В одномерном массиве подсчитать, сколько отрицательных элементов находится на четных местах и сколько положительных на нечетных. 6. Элементы массива вводятся с клавиатуры, заменить в нем все отрицательные элементы их квадратами, а положительные кубами. Вывести на экран исходный и новый массив. 7. Ввести массив с клавиатуры, найти и вывести на экран максимальный и минимальный элементы. 8. Написать программу, которая определяет есть ли в массиве элемент введенный пользователем, подсчитывает их количество и выводит номер первого найденного элемента.
2) ввести с клавиатуры массив из n элементов вывести на экран максимальный четный элемент и минимальный нечетный элемент
экран с 20 по 50 в строку через пробел
2.для первыз десяти элементов найти среднее арифмитическое
3.вывести на экран только четные элементы с 1 по 10 элементы массива
4.найти сумму нечетныз значений с 20 по 50 элемент
5.найти количество элементов кратныз заданному числу,введёного с клавиатуры среди всез элементок линейного массива
отрицательных элементов, расположенных после первого нулевого элемента.
Кто может плз очень срочно решить,желательно без массивов,но если не выйдет то через них.На языке Turbo Pascal