Пример на языке C - Определение простых чисел

Примеры на языке C

Простые числа, также известные как праймы, бесконечны по количеству. Простое число определяется как натуральное число, большее 1, которое не имеет других делителей, кроме 1 и самого себя; такие числа называются простыми числами.

Пример

#include <stdio.h> int main() { int n, i, flag = 0; printf("Введите положительное целое число:"); scanf("%d",&n); for(i=2; i<=n/2; ++i) { // Если это условие выполнено, то это не простое число if(n%i==0) { flag=1; break; } } if(n <=1 ) { flag=1; // 1 и 0 не являются простыми числами } if (flag==0) printf("%d является простым числом",n); else printf("%d не является простым числом",n); return 0; }

Результат выполнения:

输入一个正整数: 29
29 是素数

Пример - Определение простых чисел между двумя числами

#include <stdio.h> int main() { int low, high, i, flag; printf("Введите два целых числа:"); scanf("%d %d", &low, &high); printf("Простые числа между %d и %d:", low, high); while (low < high) { flag = 0; for(i = 2; i <= low/2; ++i) { if(low % i == 0) { flag = 1; break; } } if (flag == 0) printf("%d ", low); ++low; } return 0; }

Результат выполнения:

输入两个整数: 100  200
100 与 200 之间的素数为: 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199

Пример — использование функции для определения простых чисел между двумя числами

#include <stdio.h> int checkPrimeNumber(int n); int main() { int n1, n2, i, flag; printf("Введите два положительных целых числа:"); scanf("%d %d", &n1, &n2); printf("Простые числа между %d и %d:", n1, n2); for(i=n1+1; i<n2; ++i) { // Определить, является ли число простым flag = checkPrimeNumber(i); if(flag == 1) printf("%d ",i); } return 0; } // Определение функции int checkPrimeNumber(int n) { int j, flag = 1; for(j=2; j <= n/2; ++j) { if (n%j == 0) { flag =0; break; } } return flag; }

Результат вывода:

输入两个正整数: 10 30
10 和 30 间的素数为: 11 13 17 19 23 29

Примеры на языке C

Другие расширения