ФорумПрограммированиеPHP для идиотов → Функция проверки простых чисел

Функция проверки простых чисел

  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 2 декабря 2009 г. 9:03


    function is_prime ($n)
    {
    for($x=2; $x <= sqrt($n); $x++) {
    if($n % $x == 0) {
    return false;
    }
    }
    return true;
    }


    юзать так:

    $list = range(1,100);
    foreach($list as $l) {
       var_dump($l, is_prime($l));
    }

    adw/0
  • Абырвалг

    Сообщения: 6476 Репутация: N Группа: Джедаи

    Spritz 2 декабря 2009 г. 9:22, спустя 18 минут 45 секунд

    напомнил бы еще какое число называть простым, а то вышка все мозги высушила в свое время.
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 2 декабря 2009 г. 9:23, спустя 1 минуту 7 секунд


    напомнил бы еще какое число называть простым, а то вышка все мозги высушила в свое время.
    простое - которое делится на себя и на 1, и больше не имеет делителей.

    ы: видимо вовремя вышку нахуй отправил )))))
    Сапожник без сапог
  • eudj1n

    Сообщения: 11 Репутация: N Группа: Кто попало

    Spritz 14 декабря 2009 г. 12:26, спустя 12 дней 3 часа 3 минуты

    а чем Вас такой вариант не устраивает?

    // definitely not a prime
    echo gmp_prob_prime("6") . "\n";

    // probably a prime
    echo gmp_prob_prime("1111111111111111111") . "\n";

    // definitely a prime
    echo gmp_prob_prime("11") . "\n";
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 14 декабря 2009 г. 12:42, спустя 15 минут 52 секунды


    а чем Вас такой вариант не устраивает?

    // definitely not a prime
    echo gmp_prob_prime("6") . "\n";

    // probably a prime
    echo gmp_prob_prime("1111111111111111111") . "\n";

    // definitely a prime
    echo gmp_prob_prime("11") . "\n";

    тем что я уже написал на c# без лишней ебли и на всю жизнь запомнил, что бинарные операции - не для пхп. ебаля в рот библиотеки дополнительно ставить чтобы посчитать сдвиг 8 бит :)
    Сапожник без сапог
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 14 декабря 2009 г. 12:56, спустя 14 минут 32 секунды

    eudj1n, потомучто тут алгоритм скрыт, я именно из-за алгоритма выкладывал, чтобы наглядно показать
    adw/0
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 14 декабря 2009 г. 12:58, спустя 2 минуты


    eudj1n, потомучто тут алгоритм скрыт, я именно из-за алгоритма выкладывал, чтобы наглядно показать
    бля, прошу прощения, я не в той теме написал :-D

    я думал это моя тема про бинарные операции, там просто тоже приводились примеры про gmp_* ))
    Сапожник без сапог
  • eudj1n

    Сообщения: 11 Репутация: N Группа: Кто попало

    Spritz 15 декабря 2009 г. 6:27, спустя 17 часов 28 минут 48 секунд


    eudj1n, потомучто тут алгоритм скрыт, я именно из-за алгоритма выкладывал, чтобы наглядно показать

    Как показывает практика, для работы с большим количество простых чисел больше подходит вариант с gmp (например, нахождение первого миллиона простых чисел).
    А для простой проверки, согласен, Ваш вариант подходит отлично.
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 15 декабря 2009 г. 6:30, спустя 2 минуты 39 секунд

    eudj1n, а почему бы не на си решить эту задачу? ведь практичнее будет явно?
    Сапожник без сапог
  • eudj1n

    Сообщения: 11 Репутация: N Группа: Кто попало

    Spritz 15 декабря 2009 г. 6:39, спустя 9 минут 2 секунды

    В моем случае, смысла писать на си не было.
    Но понял одно - с большими числами стандартными функциями пхп пользоваться не стоит :)
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 15 декабря 2009 г. 6:40, спустя 1 минуту 32 секунды

    пхп пользоваться не стоит

    +1
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 15 декабря 2009 г. 6:41, спустя 28 секунд


    пхп пользоваться не стоит

    +1
    +1
    Сапожник без сапог
  • eudj1n

    Сообщения: 11 Репутация: N Группа: Кто попало

    Spritz 15 декабря 2009 г. 6:42, спустя 47 секунд



    пхп пользоваться не стоит

    +1
    +1


    а приходится
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 15 декабря 2009 г. 6:44, спустя 1 минуту 51 секунду


    В моем случае, смысла писать на си не было.
    Но понял одно - с большими числами стандартными функциями пхп пользоваться не стоит :)
    я вот тоже понял это.
    Спустя 99 сек.



    пхп пользоваться не стоит

    +1
    +1


    а приходится
    почему приходится? есть же много других языков не чуть не хуже чем пхп :)

    питон, ява, перл (буэээ :))) ), .net (его бы я на первое место поставил) и технологии типа jsp, asp.net ! которые в разы упрощают обычные задачи, пхп просто "все привыкли жрать" … и слишком много в нем сделано, чтобы взять и перепрыгнуть на другой язык… тут какбы, плачут, но тянут эту телегу :(
    Сапожник без сапог
  • eudj1n

    Сообщения: 11 Репутация: N Группа: Кто попало

    Spritz 15 декабря 2009 г. 6:48, спустя 4 минуты 43 секунды


    почему приходится? есть же много других языков не чуть не хуже чем пхп :)

    питон, ява, перл (буэээ :))) ), .net (его бы я на первое место поставил) и технологии типа jsp, asp.net ! которые в разы упрощают обычные задачи, пхп просто "все привыкли жрать" … и слишком много в нем сделано, чтобы взять и перепрыгнуть на другой язык… тут какбы, плачут, но тянут эту телегу :(


    пхп не так безнадежен :)
    и, между прочем, в моей стране в корпсекторе он не на последнем месте.
    питон - да, в GAE проектом одним занимаюсь, ява - хз, не мое, технологии от МС тоже не по душе.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!