Задача — Посчитать количество простых чисел
— программирование на Pascal, Си, Кумир, Basic-256, Python
Вводятся десять натуральных чисел больше 2. Посчитать, сколько среди них простых чисел.
Простым называется натуральное число (кроме 1), делителями которого являются только оно само и 1. Например, число 5 — простое, т.к. его можно нацело разделить только на 5 и 1, а число 6 — сложное, т.к. помимо 6 и 1 делится на 2 и 3.
- Предположим изначально, что все десять чисел простые. Присвоим счетчику простых чисел значение 10.
- Каждое вводимое число надо проверить на делимость на все натуральные числа начиная с двойки и до квадратного корня до него.
- Если хотя бы один из делителей делит число нацело, значит число сложное и надо уменьшить счетчик простых чисел.
- В конце программы вывести значение счетчика простых чисел. Оно будет уменьшено на количество введенных сложных чисел, следовательно, будет показывать количество введенных простых чисел.
Pascal var
count, i: byte;
n, j: word;
begin
count := 10;
for i:=1 to 10 do begin
read(n);
for j:=2 to trunc(sqrt(n))+1 do
if n mod j = 0 then begin
count := count — 1;
break;
end;
end;
writeln(’Простых чисел ‘, count);
end. 15 16 17 18 19 20
21 22 23 24 25
Простых чисел 3 Язык Си #include <stdio.h>
#include <math.h>
main() {
unsigned int n, count, i, j;
count = 10;
for (i=0; i<10; i++) {
scanf("%d", &n);
for (j=2; j<= ((int)sqrt(n))+1; j++)
if (n%j == 0) {
count -= 1;
break;
}
}
printf("Простых чисел: %dn", count);
} 5
6
7
8
9
10
11
12
13
14
Простых чисел: 4
При gcc использовать ключ -lm.
Python from math import sqrt
count = 10
for i in range(10):
n = int(input())
for j in range(2, int(sqrt(n))+1):
if n%j == 0:
count -= 1
break
print(count) 13
4
12
30
18
11
23
100
113
997
Количество простых чисел: 5 КуМир алг простые числа
нач
цел count, i, n, j
count := 10;
нц для i от 1 до 10
ввод n
нц для j от 2 до int(sqrt(n))+1
если mod(n,j) = 0 то
count := count — 1
выход
все
кц
кц
вывод "Простых чисел ", count
кон 78
113
101
107
45
110
118
121
201
501
Простых чисел 3 Basic-256 c = 10
for i=1 to 10
input n
for j=2 to (int(sqrt(n))+1)
if n%j = 0 then
c = c — 1
goto go
endif
next j
go:
next i
print "Простых чисел: " + c 100
101
102
103
104
105
106
107
108
109
Простых чисел: 4