Skip to content

Commit 5690269

Browse files
committed
task 55
1 parent 707b393 commit 5690269

File tree

4 files changed

+65
-0
lines changed

4 files changed

+65
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@
7878
52. Проблемы - [Challenges](./tasks/52.md)
7979
53. Нарисуй треугольник 1 - [Draw The Triangle 1](./tasks/53.md)
8080
54. Нарисуй треугольник 2 - [Draw The Triangle 2](./tasks/54.md)
81+
55. Печать простых чисел - [Print Prime Numbers](./tasks/55.md)
8182

8283

8384
## В процессе... , будет дополнено)

tasks/55.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,64 @@
33
<img src="./art/55.png" alt="solution" >
44

55
#### eng:
6+
Write a query to print all prime numbers less than or equal to . Print your result on a single line, and use the ampersand () character as your separator (instead of a space).
67

8+
For example, the output for all prime numbers would be:
79

810

911
#### рус:
12+
Напишите запрос, чтобы вывести все простые числа, меньшие или равные . Выведите результат в одну строку и используйте символ амперсанда () в качестве разделителя (вместо пробела).
1013

14+
Например, вывод для всех простых чисел будет таким:
1115

1216

1317
#### код с коментариями:
1418
```sql
19+
SELECT
20+
CONCAT(2, '&', REPLACE(GROUP_CONCAT(T2.n ORDER BY T2.n), ',', '&'))
21+
FROM
22+
( SELECT
23+
T.n FROM ( WITH recursive counter AS (
24+
SELECT
25+
2 AS n
26+
UNION SELECT
27+
n + 1
28+
FROM counter
29+
WHERE n < 1000 )
30+
SELECT
31+
c1.n AS n,
32+
MOD(c1.n, c2.n) AS r
33+
FROM counter AS c1,
34+
counter AS c2
35+
WHERE c1.n > c2.n ) AS T
36+
GROUP BY T.n
37+
HAVING MIN(T.r) > 0
38+
ORDER BY T.n ) AS T2;
1539

1640
```
1741

1842
#### код для hackerrank:
1943
```sql
44+
SELECT
45+
CONCAT(2, '&', REPLACE(GROUP_CONCAT(T2.n ORDER BY T2.n), ',', '&'))
46+
FROM
47+
( SELECT
48+
T.n FROM ( WITH recursive counter AS (
49+
SELECT
50+
2 AS n
51+
UNION SELECT
52+
n + 1
53+
FROM counter
54+
WHERE n < 1000 )
55+
SELECT
56+
c1.n AS n,
57+
MOD(c1.n, c2.n) AS r
58+
FROM counter AS c1,
59+
counter AS c2
60+
WHERE c1.n > c2.n ) AS T
61+
GROUP BY T.n
62+
HAVING MIN(T.r) > 0
63+
ORDER BY T.n ) AS T2;
2064

2165
```
2266

tasks/55.sql

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
SELECT
2+
CONCAT(2, '&', REPLACE(GROUP_CONCAT(T2.n ORDER BY T2.n), ',', '&'))
3+
FROM
4+
( SELECT
5+
T.n FROM ( WITH recursive counter AS (
6+
SELECT
7+
2 AS n
8+
UNION SELECT
9+
n + 1
10+
FROM counter
11+
WHERE n < 1000 )
12+
SELECT
13+
c1.n AS n,
14+
MOD(c1.n, c2.n) AS r
15+
FROM counter AS c1,
16+
counter AS c2
17+
WHERE c1.n > c2.n ) AS T
18+
GROUP BY T.n
19+
HAVING MIN(T.r) > 0
20+
ORDER BY T.n ) AS T2;

tasks/art/55.png

16 KB
Loading

0 commit comments

Comments
 (0)