Алгоритмы (PHP): различия между версиями
Перейти к навигации
Перейти к поиску
Строка 178: | Строка 178: | ||
=== Является ли число N>1 простым? === | === Является ли число N>1 простым? === | ||
<syntaxhighlight lang="php" line> | <syntaxhighlight lang="php" line> | ||
+ | <?php | ||
+ | $n = readline("Введите целое число n (n > 1):"); | ||
+ | $isPrime = true; | ||
+ | for($i = 2; $i <= round(sqrt($n)); $i++) { | ||
+ | if ($n % $i == 0) { | ||
+ | $isPrime = false; | ||
+ | break; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | if ($isPrime) { | ||
+ | echo "Число " . $n . " является простым"; | ||
+ | } else { | ||
+ | echo "Число " . $n . " является составным"; | ||
+ | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Версия 09:38, 9 июля 2021
Код программ
Сумма вводимых целых чисел
1 <?php
2 $number = readline("Введите число слагаемых: ");
3
4 $sum = 0;
5 for($i = 1; $i <= $number; $i++) {
6 $x = readline("Введите слагаемое " . $i . ": ");
7 $sum += $x;
8 }
9
10 echo "Сумма равна " . $sum;
Произведение целых чисел
1 <?php
2 $number = readline("Введите число множителей: ");
3
4 $product = 1;
5 for($i = 1; $i <= $number; $i++) {
6 $x = readline("Введите множитель " . $i . ": ");
7 $product *= $x;
8 }
9
10 echo "Произведение равно " . $product;
Сколько нечетных среди n введенных
1 <?php
2 $number = readline("Введите количество чисел: ");
3
4 $count = 0;
5 for($i = 1; $i <= $number; $i++) {
6 $x = readline("Введите число " . $i . ": ");
7 if (abs($x % 2) === 1) {
8 $count++;
9 }
10 }
11
12 echo "Количество наечётных чисел = " . $count;
Защита от неверного ввода
1 <?php
2 $x = 0;
3 do {
4 $x = readline("Введите x>0:");
5
6 if ($x <= 0) {
7 echo("Неверный ввод\n");
8 }
9 } while ($x <= 0);
10
11 echo("x = " . $x);
Вывод 10 первых степеней двойки
1 <?php
2 $x = 2;
3 for($i = 1; $i <= 10; $i++) {
4 echo "2 ** " . $i . " = " . $x . "\n";
5 $x *= 2;
6 }
Вывод всех двухзначных чисел, кратных 5
1 <?php
2 $x = 10;
3 while ($x < 100) {
4 echo $x . "\n";
5 $x += 5;
6 }
Вывод n первых чисел Фибоначчи
1 <?php
2 $n = readline("Введите целое число n (n > 1): ");
3 $a = 1; $b = 1;
4 echo $a . " " . $b . " ";
5 for($i = 1; $i <= $n - 2; $i++) {
6 $tmp = $a;
7 $a = $b;
8 $b += $tmp;
9 echo $b . " ";
10 }
Найти НОД(A,B), используя алгоритм Евклида:
1 <?php
2 $a = readline("Введите число a: ");
3 $b = readline("Введите число b: ");
4
5 while ($b != 0) {
6 $tmp = $a;
7 $a = $b;
8 $b = $tmp % $b;
9 }
10
11 echo "НОД(a, b) = " . $a;
Найти сумму цифр целого числа m
1 <?php
2 $m = readline("Введите число m: ");
3
4 $sum = 0;
5 $m1 = abs($m);
6
7 while ($m1 > 0) {
8 $sum += $m1 % 10;
9 $m1 /= 10;
10 }
11
12 echo "Сумма цифр числа " . $m . " = " . $sum;
Найти max из введенных чисел
1 <?php
2 $number = readline("Введите количество чисел: ");
3
4 $i = 1;
5 $x = readline("Введите число " . $i . ": ");
6 $max = $x;
7
8 for($i = 2; $i <= $number; $i++) {
9 $x = readline("Введите число " . $i . ": ");
10 if ($x > $max) {
11 $max = $x;
12 }
13 }
14
15 echo "Максимальное из введённых чисел = " . $max;
Найти min, удовлетворяющее условию p(x)
1 <?php
2 function p($x): bool
3 {
4 return $x > 0;
5 }
6
7 $number = readline("Введите количество чисел: ");
8 $exists = false;
9 $min = 0;
10
11 for($i = 1; $i <= $number; $i++) {
12 $x = readline("Введите число " . $i . ": ");
13 if ((($exists == false) && (p($x))) || (($x < $min) && p($x))) {
14 $min = $x;
15 $exists = true;
16 }
17 }
18
19 if ($exists) {
20 echo "Минимальное из введенных чисел, удовлетворяющих условию: " . $min;
21 } else {
22 echo "Нет чисел, удовлетворяющих условию";
23 }
Есть ли среди введенных число k?
Является ли число N>1 простым?
1 <?php
2 $n = readline("Введите целое число n (n > 1):");
3
4 $isPrime = true;
5 for($i = 2; $i <= round(sqrt($n)); $i++) {
6 if ($n % $i == 0) {
7 $isPrime = false;
8 break;
9 }
10 }
11
12 if ($isPrime) {
13 echo "Число " . $n . " является простым";
14 } else {
15 echo "Число " . $n . " является составным";
16 }