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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
AlenaShch
0 / 0 / 0
Регистрация: 06.10.2012
Сообщений: 29
#1

Дано целое число n. Получить все простые делители этого числа - C++

29.10.2012, 17:23. Просмотров 1345. Ответов 3
Метки нет (Все метки)

Почему простые делители выдает не правильно?
ch-число
del-делитель
dd-делитель делителя

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
#include <iostream>
#include <math.h>
#include <locale>
using namespace std;
 
void main()
{setlocale (LC_ALL, "Russian");
int ch,dd,del,k;
cout<<"Введите целое число \n";
cin>>ch;
    for(del=1;del<=ch/2;del++)
        {if ((ch%del)==0)
        cout<<"Делители числа: "<<del<<endl;
        }
k=del-1;
    for(dd=2;dd<=k;dd++)
        {if (del%dd != 0)
        cout<<"Простое число равно "<<dd<<endl;
        }
    cout<<endl<<endl;
}
Добавлено через 8 минут
Если считать количество делителей делителя, то программа все равно работает не правильно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include "stdafx.h"
#include <iostream>
#include <math.h>
#include <locale>
using namespace std;
 
void main()
{setlocale (LC_ALL, "Russian");
int ch,dd,del,k,kol;
cout<<"Введите целое число \n";
cin>>ch;
    for(del=1;del<=ch;del++)
        {if ((ch%del)==0)
        cout<<"Делители числа: "<<del<<endl;
        }
k=del-1;
    for(dd=2;dd<=k;dd++)
        {if (del%dd != 0)
        kol=kol+1;
            {if (kol=0)
            cout<<"Простое число равно "<<del<<endl;
            }
        }
    cout<<endl<<endl;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.10.2012, 17:23     Дано целое число n. Получить все простые делители этого числа
Посмотрите здесь:

Ввести целое число N. Вывести все простые делители этого числа - C++
прошу помочь над 2 задачами в с++: 1. Ввести целое число N. Вывести все простые делители этого числа 2. Ввести строку и слово,...

Ввести целое число N. Вывести все простые делители этого числа - C++
помогите с двумя задачами... только начали программирование... 1. Ввести целое число N. Вывести все простые делители этого числа ...

Дано натуральное число N получить все делители этого числа. - C++
Дано натуральное число N получить все делители этого числа. C++ в QT. Можно и в MVS. Почищу код если в MVS.

Дано трехзначное целое число N. Найти все цифры этого числа - C++
Дано трехзначное целое число N. Найти все цифры этого числа. (Помогите)

Дано натуральное число n. Найти все его делители и разложить его на простые числа. - C++
Привет.Помогите пожалуйста решить задчку. Заранее спасибо. Дано натуральное число n. Найти все его делители и разложить его на...

Дано натуральное число n>1. Выведите все простые множители этого числа в порядке возрастания с учетом кратности. - C++
Дано натуральное число n&gt;1. Выведите все простые множители этого числа в порядке возрастания с учетом кратности. Ввод...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
29.10.2012, 18:37     Дано целое число n. Получить все простые делители этого числа #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include "stdafx.h"
#include <iostream>
#include <math.h>
#include <locale>
using namespace std;
 
void main()
{setlocale (LC_ALL, "Russian");
int ch,k;
cout<<"Введите целое число \n";
cin>>ch;
if(ch%2==0)
{
    cout<<"Делители числа: "<<2<<endl;
    while(ch%2==0)
        ch/=2;
}
for(k=3;k*k<=ch/2; k+=2)
    if (ch%k==0)
    {
        cout<<"Делители числа: "<<k<<endl;
        while(ch%k==0)
            ch/=k;
 
    }
if(ch>1)
    cout<<"Делители числа: "<<ch<<endl;
 
    cout<<endl<<endl;
}
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
29.10.2012, 18:41     Дано целое число n. Получить все простые делители этого числа #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<iostream>
int main( )
{
    unsigned long i, n;
    std::cin >> n;
    i = 2;
    while (n != 1)
    {
        if (i*i > n)
           i = n;
        while (n % i != 0)
           i++;
        while(n % i == 0)
           n /= i;
        std::cout << i << "\n";
    }
    return 0;
}
Добавлено через 1 минуту

Не по теме:

опоздал))

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2012, 18:52     Дано целое число n. Получить все простые делители этого числа
Еще ссылки по теме:

Дано натуральное число. Найти все его простые положительные делители. C++ - C++
Входные данные Дано натуральное число N. Выходные данные Вывести все его простые положительные делители.

Получить все простые делители числа - C++
Дано натуральное число n. Получить все простые делители этого числа. Помогите пожалуйста.

Получить все простые делители числа - C++
Здравствуйте, помогите, пожалуйста. Дано целое число n. Получить все простые делители этого числа.

Получить все делители числа q, взаимно простые к p - C++
Даны натуральные числа p и q. Получить все делители числа q, взаимно простые к p. помогите пожалуйста.

Получить все простые делители натурального числа - C++
2. Дано натуральное число n. Получить все простые делители этого числа.

Получить все простые делители заданного числа - C++
Дано натуральное число n. Получить все простые делители этого числа. (нужно использовать функцию) #include &lt;iostream&gt; #include...


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

Или воспользуйтесь поиском по форуму:
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
29.10.2012, 18:52     Дано целое число n. Получить все простые делители этого числа #4
Цитата Сообщение от Thinker Посмотреть сообщение
опоздал))
бывает ))
Yandex
Объявления
29.10.2012, 18:52     Дано целое число n. Получить все простые делители этого числа
Ответ Создать тему
Опции темы

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