C/C++
Написать программу, возвращающую значение N, если N - простое число
и "ничего не делающую" в противном случае (N-нечетное). Число называется простым, если оно не имеет других делителей, кроме 1 и самого себя.
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int is_prime(unsigned x) {
int p;
if (x <= 5 && x != 4) p = 1;
else if (~x & 1 || 0 == x % 3 || 0 == x % 5) p = 0;
else {
unsigned n;
for (n = 3; n * n <= x && x % n; n += 2) { ; }
p = n * n > x? 1 : 0;
}
return p;
}
int main(void) {
unsigned n;
printf("n: ");
scanf("%u", &n);
if (is_prime(n)) printf("Returned: %u\n", n);
else puts("I do nothing...");
system("pause > nul");
return 0;
}
#include <stdio.h>
#include <math.h>
int is_prime(unsigned x) {
int p;
if (x <= 5 && x != 4) p = 1;
else if (~x & 1 || 0 == x % 3 || 0 == x % 5) p = 0;
else {
unsigned n;
for (n = 3; n * n <= x && x % n; n += 2) { ; }
p = n * n > x? 1 : 0;
}
return p;
}
int main(void) {
unsigned n;
printf("n: ");
scanf("%u", &n);
if (is_prime(n)) printf("Returned: %u\n", n);
else puts("I do nothing...");
system("pause > nul");
return 0;
}
Непонятно, почему нечетное. 2 - простое число :)
#include "iostream"
using namespace std;
bool IsPrime(int n){
int j=2; if(n<2)return false; if(n==2)return true;
do if(n%j++==0)return false; while(j*j<=n); return true;}
int main(){int n; cin>>n; if(IsPrime(n))cout<< n<< endl;}
#include "iostream"
using namespace std;
bool IsPrime(int n){
int j=2; if(n<2)return false; if(n==2)return true;
do if(n%j++==0)return false; while(j*j<=n); return true;}
int main(){int n; cin>>n; if(IsPrime(n))cout<< n<< endl;}
Хули_Ган Хули_Ган
О да, это то, что я хотел увидеть! Мои глаза.
#include<stdio.h>
int main()
{
int j,k,i,ii=0,N;
printf ("Введите число N ");
scanf("%d",&N);
k=0;
for (i=2;i<=N;i++)
{
for (j=2;j<=N;j++)
{
if (i % j == 0)
{
if(i>j){
printf("\nчисло %d не простое, так как делится ещё и на %d",i,j);
ii=i;
}
else if(i!=ii) {k++;
printf("\nчисло %d простое",i);
}
}
}
}
if (k==0)
printf("Простых чисел до %d не сущетсвует",N);
else
printf("\nВсего простых чисел %d",k);
return 0;
}
int main()
{
int j,k,i,ii=0,N;
printf ("Введите число N ");
scanf("%d",&N);
k=0;
for (i=2;i<=N;i++)
{
for (j=2;j<=N;j++)
{
if (i % j == 0)
{
if(i>j){
printf("\nчисло %d не простое, так как делится ещё и на %d",i,j);
ii=i;
}
else if(i!=ii) {k++;
printf("\nчисло %d простое",i);
}
}
}
}
if (k==0)
printf("Простых чисел до %d не сущетсвует",N);
else
printf("\nВсего простых чисел %d",k);
return 0;
}
Похожие вопросы
- В LINUX OS Написать программу, которая из командной строки получает целое число N и некоторый текст “Text”.
- Составьте алгоритм и напишите программу вычисления суммы n членов ряда согласно условию задачи
- Си. Цикл for. Что не так? Составить программу вывода на экран всех простых чисел не превосходящих введеннного числа N
- Вывести на экран n первых простых чисел, начиная с единицы. n вводится с клавиатуры.
- Помогите пожалуйста с Массивами .В языке С .Заполнил 2-мерный массив N и M случайными числами дальше не понимаю.
- Написать программу, которая по введенному значению аргумента вычисляет значение функции, заданной в виде
- Написать кусочек С++Выведите в порядке возрастания все простые числа на отрезке [l;r]. Оформите решение в виде функции
- Хелпаните плиз, надо код перестроить на N вещестные числа и для вычесления гометрической прогрессии.
- Написать программу, которая выводит числа из файла с текстом и числами. С++
- Помогите пожалуйста написать программу, реализующую десять генераторов псевдослучайных чисел.СИ!!!!