Пример на языке 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Другие расширения