Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Заполнить массив тридцатью первыми простыми числами

Cherry Cola Профи (749), на голосовании 3 года назад
Голосование за лучший ответ
Андрей Мудрец (15114) 3 года назад
$array[0]=1;
$array[1]=2;
$array[2]=3;
...
Cherry ColaПрофи (749) 3 года назад
нужно иммено построить заполнение массива. с использованием while и условий
Андрей Мудрец (15114) $array=array(); $simple=2; start1: if(count($array)>30) goto end1; $flag=true; $i=0; start2: if($i>=count($array)) goto end2; if($simple%$array[$i]==0) $flag=false; $i++; goto start2; end2: if($flag) $array[]=$simple; $simple++; goto start1; end1:
Фредерика Бернкастель Мудрец (10668) 3 года назад
$arr = [];
foreach(range(1, 30) as $i) $arr[] = $i;
Фредерика БернкастельМудрец (10668) 3 года назад
через while:
Андрей Мудрец (15114) Фредерика Бернкастель, такой толстый троллинг, что даже мне завидно
dim565 Искусственный Интеллект (424764) 3 года назад
В интернете полно примеров, есть разные способы поиска простых чисел, выбрал первый попавшийся

<?php
$final_array = [];
$count = 0;
$num = 2;
while ($count < 30) { // не больше 30 простых чисел
$div_count = 0;
for ($i=1; $i<=$num; $i++) { // считаем количество делителей (остаток от деления = 0)
if (($num%$i)==0) $div_count++;
}
if ($div_count < 3) { // если число делителей меньше 3 число простое, добавляем в массив
$final_array[] = $num;
$count++;
}
$num++;
}
print_r($final_array);
АндрейМудрец (15114) 3 года назад
$array=array();
$simple=2;
start1:
if(count($array)>30) goto end1;
$flag=true;
$i=0;
start2:
if($i>=count($array)) goto end2;
if($simple%$array[$i]==0) $flag=false;
$i++;
goto start2;
end2:
if($flag) $array[]=$simple;
$simple++;
goto start1;
end1:
АндрейМудрец (15114) 3 года назад
И да, единица не является простым числом
Похожие вопросы