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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
DmitryM5
Love~
51 / 51 / 3
Регистрация: 27.08.2013
Сообщений: 805
Записей в блоге: 1
#1

Простые делители числа,задачка! - C++

20.09.2013, 22:28. Просмотров 1246. Ответов 22
Метки нет (Все метки)

Задача:Простые делители числа 13195 - это 5, 7, 13 и 29.

Какой самый большой делитель числа 600851475143, являющийся простым числом?

Замечание: число 600851475143 не поместится в тип int, чего не скажешь о типе long long. Этот тип официально включён в стандарт языка C++ лишь с 2011 года, но уже довольно давно доступен в популярных компиляторах языка, в том числе, Visual C++.

Смотреть скрин и помомь

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 <iostream>
#include <locale>
 
using namespace std;
 
bool isSimple(long long A) {
    int flag=1;
    for (long long i=2;i<A;i++) {
        if (A%i==0) {
            flag=0;
            return false;
    }
}
    if  (flag=1) return true;
}
 
int main() {
    std::locale::global(std::locale(""));
    long long A=600851475143,result;
 
    for (long long i=2;i<A;i++) {
    if ((A%i==0)&&(isSimple(A))) 
        result=i;
    }
    
    cout<<"Самый большой делитель числа 600851475143,являющийся простым =  "<<result<<endl;
 
system("pause");
return 0;
}
Миниатюры
Простые делители числа,задачка!  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.09.2013, 22:28     Простые делители числа,задачка!
Посмотрите здесь:

Простые делители заданного числа - C++
Задача из сборника Златопольского 8.54*. Дано натуральное число n. Получить все простые делители этого числа #include &lt;iostream&gt; ...

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

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

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

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

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

Получить все делители числа q, взаимно простые с р - C++
3.Даны натуральные числа р и q. Получить все делители числа q, взаимно простые с р заранее спасибо

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
21.09.2013, 00:41     Простые делители числа,задачка! #21
Я так понимаю что изначальная проблема решена. Поэтому советую создать новую тему и обозначить в ней иную проблему, если таковая имеется. Не стоит путаться в нескольких проблемах в одной теме.
fishec
119 / 119 / 30
Регистрация: 07.09.2013
Сообщений: 338
21.09.2013, 00:45     Простые делители числа,задачка! #22
600851475143 = 71*839*1471*6857
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
#include <vcl.h>
#include <iostream>
#include <math.h>
using namespace std;
 
bool isSimple(long long A) {
    for (long long i=2;i<=sqrt(A);i++) {
        if (A%i==0){
            return false;
        }
    }
    return true;
}
 
int main(){
long long A=600851475143,result;
for (long long i=sqrt(A) ;i>1 ;i--) {
    if (isSimple(i)&&(A%i==0)){
        result=i;
        break;
    }
}
 
cout<<result<<endl;
system("pause");
return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2013, 12:46     Простые делители числа,задачка!
Еще ссылки по теме:

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

Получить все простые делители заданного натурального числа - C++
Бьюсь с этой задачей уже несколько часов. Выдает сбой в вычислениях, и я не могу понять почему. За проверку брал число 1463....

Найти все простые положительные делители данного натурального числа - C++
Help!: Дано натуральное число N. Найти все его простые положительные делители. Ещё с решением пожалуйста (алгоритмы)

Дано целое число n. Получить все простые делители этого числа - C++
Почему простые делители выдает не правильно? ch-число del-делитель dd-делитель делителя #include &quot;stdafx.h&quot; #include...

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


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

Или воспользуйтесь поиском по форуму:
DmitryM5
Love~
51 / 51 / 3
Регистрация: 27.08.2013
Сообщений: 805
Записей в блоге: 1
21.09.2013, 12:46  [ТС]     Простые делители числа,задачка! #23
Цитата Сообщение от fishec Посмотреть сообщение
600851475143 = 71*839*1471*6857
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
#include <vcl.h>
#include <iostream>
#include <math.h>
using namespace std;
 
bool isSimple(long long A) {
    for (long long i=2;i<=sqrt(A);i++) {
        if (A%i==0){
            return false;
        }
    }
    return true;
}
 
int main(){
long long A=600851475143,result;
for (long long i=sqrt(A) ;i>1 ;i--) {
    if (isSimple(i)&&(A%i==0)){
        result=i;
        break;
    }
}
 
cout<<result<<endl;
system("pause");
return 0;
}
Благодарствую!
Yandex
Объявления
21.09.2013, 12:46     Простые делители числа,задачка!
Ответ Создать тему
Опции темы

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