プロジェクトオイラーの課題3:多数の最大の素数因子を見つける

CodeManiak

プロジェクトオイラーの素因数600851475143が見つかりません。私のコードは、テスト番号13195とそれにスローするすべてのテスト番号の最大の素数を正常に計算しますが、どういうわけか、大きな素数で劣化します。なぜなのかご存知ですか?

#include <iostream>     
#include <queue>  
using namespace std;
int split(int split);
int largestprimefactor(priority_queue<int> myints);
int main()
{
int response = 2;
do{
    priority_queue<int> myints;
    int number;
    cout << "Please enter a number: ";
    cin >> number;
    myints.push(number);
    int lcf = largestprimefactor(myints);
    cout << endl << "Largest prime factor is: " << lcf;
    cout << endl << "Again?(1 for yes 2 for no): ";
    cin >> response;
}while(response == 1);
}
uint64_t split(uint64_t split)
{
if(split%2 != 0)
{
    if((split/2))%2 == 0)
        for(uint64_t i = (split/2)-1; i>1; i=i-2)
            if(split%i == 0)
                return i;
    else
        for(uint64_t i = (split/2); i>1; i=i-2)
            if(split%i == 0)
                return i;
    return 1;
}
else
    return 2;
}
int largestprimefactor(priority_queue<int> myints)
{
// largestfactor holds the next number to be tested for primeness in the queue
do{
    int largestfactor = myints.top();
    myints.pop();
    //splat will hold the first factor split finds of the top item in the queue
    int splat = split(largestfactor);
    //if it holds a 1 then that means that there are no factors
    if(splat != 1 && largestfactor)
    {
        myints.push(splat);
        myints.push(largestfactor / splat);
    }
    else
        return largestfactor;   
}while(myints.top() > 1);
}
timday

600851475143が大きすぎて32ビット整数に格納できないと考えましたか?

コンパイラが64ビット整数型に提供するものを調べてください。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

2つの3桁の数の積から最大の回文を見つける(プロジェクトオイラー問題)

分類Dev

jsonオブジェクトの要素数を見つける

分類Dev

配列内のオブジェクトのパラメータの最大値を見つける方法は?

分類Dev

指定された数(プロジェクトオイラー10)までのすべての素数を再帰的に見つけると、StackOverflowエラーが発生します

分類Dev

日食プロジェクトでエラーの数を見つける

分類Dev

プロジェクトオイラー:2つの3桁の数字の最大の回文製品

分類Dev

プロジェクトオイラータスク17.数字の範囲からすべての文字の数を見つける

分類Dev

forループを使用してオブジェクトの最大数を見つける方法は?

分類Dev

配列のプロパティのオブジェクトのインデックスを見つける

分類Dev

最大の素数除数を見つける(可能な限り最速のプログラム)

分類Dev

最大の素数を見つけるためのTSQLプログラム

分類Dev

オブジェクトの配列内の属性の最大値を見つける

分類Dev

辞書内のオブジェクトの属性の最大値を見つける

分類Dev

プロジェクトオイラー#3を試す際の問題

分類Dev

Pythonのオブジェクトのリストで最大値を見つける

分類Dev

C ++:数の最大の素数を見つけるプログラム、私のコードの何が問題になっていますか?

分類Dev

JAVAプロジェクトオイラーP.#8、1000桁の数字から最高の製品を見つける

分類Dev

D3:JSONオブジェクトの最大値を見つけるための最良の方法

分類Dev

オブジェクトの配列で属性の最大値を見つける

分類Dev

Pythonジェネレーター/リストで最大/最小のオブジェクトを見つける

分類Dev

ヒープ内のオブジェクトの数を見つける方法

分類Dev

後で特定のオブジェクトを見つけるためにふるいにかけるために、メモリに特定のオブジェクトを多数格納するためのベストプラクティスはありますか?

分類Dev

プロジェクトオイラー#10素数の合計を事前に計算する方法は?

分類Dev

javafxports android プロジェクトで構成ファイルを見つける際の問題

分類Dev

ラケット-範囲内で最大の素数を見つける

分類Dev

C ++でオブジェクトのタイプを見つける

分類Dev

C ++でオブジェクトのタイプを見つける

分類Dev

オブジェクトのタイプを見つけるc#

分類Dev

プログラムでTFSプロジェクトのユーザーを見つける

Related 関連記事

  1. 1

    2つの3桁の数の積から最大の回文を見つける(プロジェクトオイラー問題)

  2. 2

    jsonオブジェクトの要素数を見つける

  3. 3

    配列内のオブジェクトのパラメータの最大値を見つける方法は?

  4. 4

    指定された数(プロジェクトオイラー10)までのすべての素数を再帰的に見つけると、StackOverflowエラーが発生します

  5. 5

    日食プロジェクトでエラーの数を見つける

  6. 6

    プロジェクトオイラー:2つの3桁の数字の最大の回文製品

  7. 7

    プロジェクトオイラータスク17.数字の範囲からすべての文字の数を見つける

  8. 8

    forループを使用してオブジェクトの最大数を見つける方法は?

  9. 9

    配列のプロパティのオブジェクトのインデックスを見つける

  10. 10

    最大の素数除数を見つける(可能な限り最速のプログラム)

  11. 11

    最大の素数を見つけるためのTSQLプログラム

  12. 12

    オブジェクトの配列内の属性の最大値を見つける

  13. 13

    辞書内のオブジェクトの属性の最大値を見つける

  14. 14

    プロジェクトオイラー#3を試す際の問題

  15. 15

    Pythonのオブジェクトのリストで最大値を見つける

  16. 16

    C ++:数の最大の素数を見つけるプログラム、私のコードの何が問題になっていますか?

  17. 17

    JAVAプロジェクトオイラーP.#8、1000桁の数字から最高の製品を見つける

  18. 18

    D3:JSONオブジェクトの最大値を見つけるための最良の方法

  19. 19

    オブジェクトの配列で属性の最大値を見つける

  20. 20

    Pythonジェネレーター/リストで最大/最小のオブジェクトを見つける

  21. 21

    ヒープ内のオブジェクトの数を見つける方法

  22. 22

    後で特定のオブジェクトを見つけるためにふるいにかけるために、メモリに特定のオブジェクトを多数格納するためのベストプラクティスはありますか?

  23. 23

    プロジェクトオイラー#10素数の合計を事前に計算する方法は?

  24. 24

    javafxports android プロジェクトで構成ファイルを見つける際の問題

  25. 25

    ラケット-範囲内で最大の素数を見つける

  26. 26

    C ++でオブジェクトのタイプを見つける

  27. 27

    C ++でオブジェクトのタイプを見つける

  28. 28

    オブジェクトのタイプを見つけるc#

  29. 29

    プログラムでTFSプロジェクトのユーザーを見つける

ホットタグ

アーカイブ