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

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

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

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

29.10.2012, 17:23. Просмотров 1306. Ответов 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. Получить все простые делители этого числа
Посмотрите здесь:

C++ Дано натуральное число n. Найти все его делители и разложить его на простые числа.
Ввести целое число N. Вывести все простые делители этого числа C++
Ввести целое число N. Вывести все простые делители этого числа C++
Дано натуральное число n>1. Выведите все простые множители этого числа в порядке возрастания с учетом кратности. C++
Дано натуральное число N получить все делители этого числа. C++
C++ Получить все делители числа q, взаимно простые к p
Получить все простые делители числа C++
Получить все простые делители заданного числа C++
Получить все простые делители натурального числа C++
Дано натуральное число. Найти все его простые положительные делители. C++ C++
Дано трехзначное целое число N. Найти все цифры этого числа C++
Получить все простые делители числа C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4661 / 2487 / 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++
 Аватар для Thinker
4218 / 2192 / 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 минуту

Не по теме:

опоздал))

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

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