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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Almat29
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 26
#1

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

28.01.2014, 23:31. Просмотров 610. Ответов 4
Метки нет (Все метки)

Нужна помощь народ! Надо написать код чтобы работал по такому принципу: разбить число на множители и определить простые они или нет, если простые то 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++
Я для этого написал программу : #include &lt;stdio.h&gt; #define MAXN 1000 int main(){ freopen(&quot;input.txt&quot;,&quot;r&quot;,stdin); ...

Разложить число на простые множители - C++
Дано натуральное число n. Напечатать разложение этого числа на простые множители. Реализовать два варианта: 1) каждый простой множитель...

Разложить число на простые множители - C++
Если не трудно, можете найти где у меня ошибка, а то я новичок, никак не могу справится с этой задачкой: #include &lt;iostream&gt; using...

Разложить натуральное число на простые множители - C++
Разложить натуральное число на простые множители.(Нужно максимально простое решение, для новичков)

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kill100
401 / 267 / 37
Регистрация: 11.12.2010
Сообщений: 1,134
Завершенные тесты: 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
401 / 267 / 37
Регистрация: 11.12.2010
Сообщений: 1,134
Завершенные тесты: 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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.01.2014, 00:42     Разбить число на множители и определить простые они или нет
Еще ссылки по теме:

Разложить заданное число на простые множители - C++
Ребята помогите реализовать задачу: разложить заданное число на простые множители.

Вводится два слова, необходимо определить, одинаковые они или нет - C++
Я новичёк в программировании, помогите, пожалуйста. Вводится два слова, необходимо определить, одинаковые они или нет

Определить простые множители - C++
Задание: Составить программу определения, является ли данное число простым. Если число не является простым, то определить все его простые...

Как можно разбить длинное число на множители? - C++
есть число 217381274817248719824812648612; как программно его разбить на большие множители?

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

Дано натуральное число N. Разложить его на простые множители - C++
Всем доброго времени суток. Очень нужна помощь с данной задачей в плане оформления, так как совсем не знаю этот язык программирования. Дано...


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

Или воспользуйтесь поиском по форуму:
Almat29
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 26
29.01.2014, 00:42  [ТС]     Разбить число на множители и определить простые они или нет #5
Нет, не Герона. Уже решил. Спасибо за помощь
Yandex
Объявления
29.01.2014, 00:42     Разбить число на множители и определить простые они или нет
Ответ Создать тему
Опции темы

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