Дано четное число n > 2. Проверить для него гипотезу Гольдбаха: каждое четное n представляется в виде суммы двух простых чисел.
Описание алгоритма программы, (при необходимости - со схемой алгоритма)
Пусть A – введенное число, k – количество найденных сумм. Первоначально k=0. Создаем функцию f1, которая будет определять число простое или нет.
Если A не четное вывести, что число не четное. Иначе запускаем два цикла, один от i=2 до A, а другой от 2 до i. Если f1(i) плюс f1(j) равно A, то вывести i+j=A, к k прибавить 1 и завершить второй цикл. В конце проверяем, если k равно 0, то выводим, что нет таких чисел.
Описание переменных и структур данных, которые применяются в программе
Имя переменной или объекта программы | Тип данных | Назначение |
a | int | Хранит введённое число |
k | int | Хранит количество сумм |
Текст программы
<form action="2315.php" method="get">
<b>Введите число:</b><br>
<input type="text" name="a" /> <br>
<input type="submit" value="Ok" />
</form>
<?
$a=$_GET['a'];
|
|
if($a){
echo 'Вы ввели: '.$a.'</br>';
if($a%2==0){
$k=0;
for ($i = 2; $i < $a; $i++) {
for($j = 2; $j < $i; $j++) {
if((f1($i)+f1($j))==$a){
echo $i."+".$j."=".$a."<br>";
$k++;
continue 2;
}}}
if($k==0)echo"Таких чисел нет";
}else echo"Введено не четное число";}
function f1($a){
if ($a == 1)
return 0;
for ($i = 2; $i <= $a/2; $i++){
if ($a % $i == 0)
return 0;}
return $a;}
?>
Контрольный пример
При вводе числа 18 программа выведет 11+7=18 и 13+5=18.