Задание для выполнения, включая индивидуальное задание

Дано четное число 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.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: