Алгоритмы (Kotlin)
Версия от 11:59, 8 июля 2021; Безуглов Сергей (обсуждение | вклад) (→Есть ли среди введенных число k?)
Код программ
Сумма вводимых целых чисел
1 fun main() {
2 print("Введите число слагаемых: ")
3 val n = readLine()!!.toInt()
4
5 var sum = 0
6 for (i in 0 until n) {
7 print("Введите число " + (i + 1) + ": ")
8 val num: Int = readLine()!!.toInt()
9 sum += num
10 }
11
12 println("Сумма = $sum");
13 }
Произведение целых чисел
1 fun main() {
2 print("Введите число множителей: ")
3 val n = readLine()!!.toInt()
4
5 var product = 1.0
6 for (i in 0 until n) {
7 print("Введите множитель " + (i + 1) + ": ")
8 val num: Int = readLine()!!.toInt()
9 product *= num
10 }
11
12 println("Произведение = $product");
13 }
Сколько нечетных среди n введенных
1 import kotlin.math.abs
2
3 fun main() {
4 print("Введите количество чисел: ")
5 val n = readLine()!!.toInt()
6
7 var count = 0
8 for (i in 0 until n) {
9 print("Введите число " + (i + 1) + ": ")
10 val num: Int = readLine()!!.toInt()
11 if (abs(num % 2) == 1) {
12 count++;
13 }
14 }
15
16 println("Количество нечётных чисел = $count");
17 }
Защита от неверного ввода
1 fun main() {
2 var x: Int
3
4 do {
5 print("Введите x > 0: ")
6
7 x = readLine()!!.toInt()
8 if (x <= 0) {
9 println("Неверный ввод.")
10 }
11 } while (x <= 0)
12 println("x = $x")
13 }
Вывод 10 первых степеней двойки
1 fun main() {
2 var x = 2
3
4 for (i in 1..10) {
5 println("2 ** $i = $x")
6 x *= 2
7 }
8 }
Вывод всех двухзначных чисел, кратных 5
1 fun main() {
2 var x = 10
3
4 while (x < 100) {
5 println(x)
6 x += 5
7 }
8 }
Вывод n первых чисел Фибоначчи
1 fun main() {
2 println("Введите число n (n > 1): ")
3 val n: Int = readLine()!!.toInt()
4
5 var a: Int = 1
6 var b: Int = 1
7 print("$a $b ")
8 for (i in 1..n - 2) {
9 val tmp = a
10 a = b
11 b += tmp
12 print("$b ")
13 }
14 }
Найти НОД(A,B), используя алгоритм Евклида:
1 fun main() {
2 println("Введите целое число A:")
3 var a: Int = readLine()!!.toInt()
4 println("Введите целое число B:")
5 var b: Int = readLine()!!.toInt()
6
7 while (b != 0) {
8 val tmp = a
9 a = b
10 b = tmp % b
11 }
12
13 println("НОД(A, B) = $a")
14 }
Найти сумму цифр целого числа m
1 fun main() {
2 println("Введите целое число m:")
3 val m: Int = readLine()!!.toInt()
4
5 var sum = 0
6 var m1 = Math.abs(m)
7
8 while (m1 > 0) {
9 sum += m1 % 10
10 m1 /= 10
11 }
12
13 println("Сумма цифр числа $m равна $sum")
14 }
Найти max из введенных чисел
1 fun main() {
2 print("Введите количество чисел: ")
3 val count: Int = readLine()!!.toInt()
4
5 var i = 0
6 print("Введите число " + (i + 1) + ": ")
7 var num: Int = readLine()!!.toInt()
8 var max = num
9
10 i = 1
11 while (i < count) {
12 print("Введите число " + (i + 1) + ": ")
13 num = readLine()!!.toInt()
14 if (num > max) {
15 max = num
16 }
17 i++
18 }
19
20 println("Максимальное число = $max")
21 }
Найти min, удовлетворяющее условию p(x)
1 fun p(x: Int): Boolean {
2 return x > 0
3 }
4
5 fun main() {
6 print("Введите количество чисел: ")
7 val count: Int = readLine()!!.toInt()
8
9 var exists = false
10 var min = Int.MAX_VALUE
11
12 for (i in 0 until count) {
13 print("Введите число " + (i + 1) + ": ")
14 val num: Int = readLine()!!.toInt()
15 if (num < min && p(num)) {
16 min = num
17 exists = true
18 }
19 }
20
21 if (exists) {
22 println("Минимальное из чисел удовлетворяющих условию = $min")
23 } else {
24 println("Нет чисел, удовлетворяющих условию")
25 }
26 }
Есть ли среди введенных число k?
1 fun main() {
2 var exists = false
3
4 print("Введите количество чисел: ")
5 val count: Int = readLine()!!.toInt()
6
7 print("Введите искомое число: ")
8 val k: Int = readLine()!!.toInt()
9
10 for (i in 0 until count) {
11 print("Введите число " + (i + 1) + ": ")
12 val num: Int = readLine()!!.toInt()
13 if (num == k) {
14 exists = true
15 break
16 }
17 }
18
19 if (exists) {
20 println("Число $k было введено")
21 } else {
22 println("Число $k не было введено")
23 }
24 }