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

Разбить число на множители и определить простые они или нет - C++

Войти
Регистрация
Восстановить пароль
 
Almat29
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 26
28.01.2014, 23:31     Разбить число на множители и определить простые они или нет #1
Нужна помощь народ! Надо написать код чтобы работал по такому принципу: разбить число на множители и определить простые они или нет, если простые то false, а если нет то true. Когда вводишь 10 то должно выходить false, т.к множители 10: 2 и 5(они простые). При вводе 250 должно быть true, т.к множители 250:2, 5, 10, 25, 50, 125.(не все простые)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
bool hasnonprimefactor(int n)
{
    bool check = false;
    for (int i = 1; i < n/2; ++i)
    {
        if (n % i == 0)
        {
            check = true;
            break;}
    }
    if (check)
        return false;
    return true;
}
Есть такой код, но это не то. Не могу додуматься как решить задачу! Кто знает как помочь, помогите пожалуйста
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.01.2014, 23:31     Разбить число на множители и определить простые они или нет
Посмотрите здесь:

Определить простые множители C++
Натуральное число на простые множители C++
C++ Разложить число на простые множители
C++ Разложить заданное число на простые множители
C++ Разложить число на простые множители через массив
C++ Разбить целое число на простые множители с помощью рекурсивного алгоритма
Как можно разбить длинное число на множители? C++
Разложить число на простые множители C++
C++ Дано натуральное число N. Разложить его на простые множители
C++ Разложить число на простые множители
C++ Вводится два слова, необходимо определить, одинаковые они или нет
Разложить натуральное число на простые множители C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kill100
 Аватар для Kill100
360 / 249 / 33
Регистрация: 11.12.2010
Сообщений: 1,069
Завершенные тесты: 1
28.01.2014, 23:56     Разбить число на множители и определить простые они или нет #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
решение в лоб
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
bool check(int number)
{
    for (int i = 2; i < number / 2; i++){
        if (number% i == 0){
            for (int j = 2; j < i / 2; j++){
                if (i%j != 0)
                    return true;
            }
        }
    }
    return false;
}
 
int main()
{
    int number;
    printf("Input number\r\n");
    scanf_s("%i", &number);//cin>>number //если будет ошибка
    printf("answer = %s\r\n", check(number) ? "true" : "false");
    system("Pause");
    return 0;
}
Almat29
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 26
29.01.2014, 00:02  [ТС]     Разбить число на множители и определить простые они или нет #3
Спасибо огромное! Слушай, ты знаешь вавилонский алгоритм нахождения квадратного корня?
Kill100
 Аватар для Kill100
360 / 249 / 33
Регистрация: 11.12.2010
Сообщений: 1,069
Завершенные тесты: 1
29.01.2014, 00:30     Разбить число на множители и определить простые они или нет #4
Цитата Сообщение от Almat29 Посмотреть сообщение
Слушай, ты знаешь вавилонский алгоритм нахождения квадратного корня?
Это формула герона?

Добавлено через 22 минуты
Кароче если да то вот формула
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <math.h>
double sqrtQ(double number, double eps)
{
    double sqrt2 = number / 2, oldSqrt = 0;
    while (abs(oldSqrt - sqrt2) > eps){
        oldSqrt = sqrt2;
        sqrt2 = (sqrt2 + number / sqrt2) / 2;
    }
    return sqrt2;
}
 
int main()
{
    double eps, number;
    printf("Input number\r\n");
    scanf_s("%lf", &number);//cin>>number //если будет ошибка
    printf("Input eps\r\n");
    scanf_s("%lf", &eps);
    printf("answer = %lf\r\n", sqrtQ(number, eps));
    system("Pause");
    return 0;
}
Almat29
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 26
29.01.2014, 00:42  [ТС]     Разбить число на множители и определить простые они или нет #5
Нет, не Герона. Уже решил. Спасибо за помощь
Yandex
Объявления
29.01.2014, 00:42     Разбить число на множители и определить простые они или нет
Ответ Создать тему
Опции темы

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