Skip to content

Commit 9dc7b2a

Browse files
committed
feat: add yandex_training_1 study_1/task B
1 parent 1ef5844 commit 9dc7b2a

File tree

4 files changed

+129
-0
lines changed

4 files changed

+129
-0
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -357,6 +357,7 @@
357357
<summary>Лекция 1: «Сложность, тестирование, особые случаи»</summary>
358358

359359
- [X] [A. Кондиционер](yandex_training_1/study_1/A)
360+
- [X] [B. Треугольник](yandex_training_1/study_1/B)
360361

361362
</details>
362363

yandex_training_1/study_1/B/README.md

+58
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# B. Треугольник
2+
3+
Даны три натуральных числа. Возможно ли построить треугольник с такими сторонами. Если это возможно, выведите строку YES, иначе выведите строку NO.
4+
5+
Треугольник — это три точки, не лежащие на одной прямой.
6+
7+
## Формат ввода
8+
9+
Вводятся три натуральных числа.
10+
11+
## Формат вывода
12+
13+
Выведите ответ на задачу. YES или NO
14+
15+
### Пример 1
16+
17+
<table><tr>
18+
<td>
19+
3<br>
20+
4<br>
21+
5
22+
</td>
23+
<td>
24+
YES<br>
25+
<br>
26+
<br>
27+
</td>
28+
</tr></table>
29+
30+
### Пример 2
31+
32+
<table><tr>
33+
<td>
34+
3<br>
35+
5<br>
36+
4
37+
</td>
38+
<td>
39+
YES<br>
40+
<br>
41+
<br>
42+
</td>
43+
</tr></table>
44+
45+
### Пример 3
46+
47+
<table><tr>
48+
<td>
49+
4<br>
50+
5<br>
51+
3
52+
</td>
53+
<td>
54+
YES<br>
55+
<br>
56+
<br>
57+
</td>
58+
</tr></table>

yandex_training_1/study_1/B/task.go

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package main
2+
3+
import (
4+
"bufio"
5+
"fmt"
6+
"os"
7+
"strconv"
8+
)
9+
10+
func main() {
11+
scanner := bufio.NewScanner(os.Stdin)
12+
13+
scanner.Scan()
14+
a, _ := strconv.Atoi(scanner.Text())
15+
16+
scanner.Scan()
17+
b, _ := strconv.Atoi(scanner.Text())
18+
19+
scanner.Scan()
20+
c, _ := strconv.Atoi(scanner.Text())
21+
22+
fmt.Println(solution(a, b, c))
23+
}
24+
25+
func solution(a, b, c int) string {
26+
if a+b <= c || b+c <= a || a+c <= b {
27+
return "NO"
28+
}
29+
30+
return "YES"
31+
}
+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package main
2+
3+
import (
4+
"fmt"
5+
"testing"
6+
)
7+
8+
type TestItemInput struct {
9+
a,
10+
b,
11+
c int
12+
}
13+
14+
type TestItemOutput string
15+
16+
type TestItem struct {
17+
input TestItemInput
18+
output TestItemOutput
19+
}
20+
21+
func TestTask(t *testing.T) {
22+
for i, v := range generateTasks() {
23+
t.Run(fmt.Sprintf("Test %d", i+1), func(t *testing.T) {
24+
val := solution(v.input.a, v.input.b, v.input.c)
25+
if val != string(v.output) {
26+
t.Errorf("Неверный ответ решения!\nОтвет: \n%s \nВерно: \n%s", val, v.output)
27+
}
28+
})
29+
}
30+
}
31+
32+
func generateTasks() []TestItem {
33+
return []TestItem{
34+
{TestItemInput{3, 4, 5}, "YES"},
35+
{TestItemInput{3, 5, 4}, "YES"},
36+
{TestItemInput{4, 5, 3}, "YES"},
37+
{TestItemInput{1, 2, 3}, "NO"},
38+
}
39+
}

0 commit comments

Comments
 (0)