Форум программистов, компьютерный форум CyberForum.ru

Простое число - C++

Восстановить пароль Регистрация
 
Handen
0 / 0 / 0
Регистрация: 13.03.2013
Сообщений: 8
13.03.2013, 19:48     Простое число #1
C++
1
2
3
4
5
6
7
8
9
bool prostoechislo(int n) //функция определяющая простое число или нет
{
    if (n < 2) return false;
    if (n == 2) return true;
    if (n % 2 == 0) return false;
    for (int j = 3; j * j <= n; j += 2)
         if (n % j == 0) return false;
    return true;
}
Вот функция никак не пойму цикл
C++
1
2
for (int j = 3; j * j <= n; j += 2)
         if (n % j == 0) return false;
Объясните как он работает.Вот мои мысли насчет него сперва он задает j, потом пишет j*j<= n,почему j*j что это за трюк такой в программировании,можно ли j*j записать как pow(j,2).Ну в общем объясните мне этот цикл пожалуйста.БУду очень благодарен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2013, 19:48     Простое число
Посмотрите здесь:

C++ Передать в функцию целое число. Функция заменяет его на ближайшее простое число, которое больше или меньше исходного. Вернуться в main( ) и распечатат
C++ Дано натуральное число. Найти ближайшее простое число
простое число C++
Дано простое число. Составить функцию,которая будет находить следующее за ним простое число. C++
Функции. Проверить, простое число или нет. Увеличить его значение на натуральное число M. Проверить, осталось ли оно простым C++
Дано простое число. Составить функцию, которая будет находить следующее за ним простое число C++
C++ Дано простое число. Составить функцию, которая будет находить следующее за ним простое число.
Необходимо вывести строку prime, если число простое, или composite, если число составное C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
13.03.2013, 20:28     Простое число #2
если непонятно подставляй числа, например
C++
1
2
for( 3; 3*3<=100; 3+2)
если 100 % 3 ==0   false  если получить остаток от деления 100 от 3 и равно 0 тогда false
Надеюсь помог
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 538
13.03.2013, 20:31     Простое число #3
цикл от 3. С каждым шагом к итератору прибавляется 2. Выполняется пока произведение не будет меньше n.
Если n, например, 10, то цикл совершит один шаг.
Yandex
Объявления
13.03.2013, 20:31     Простое число
Ответ Создать тему
Опции темы

Текущее время: 22:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru