
?進行中の作業?
シングルインクルードヘッダーファイルをインクルードパスの下の場所にダウンロードします。次に、 #include include your code:
# include " BigInt.hpp " // the actual path may vary BigIntクラスのオブジェクトを作成し、あなたがしなければならないことをしてください!
BigInt big1 = 1234567890 , big2;
big2 = " 9876543210123456789098765432101234567890 " ;
std::cout << big1 * big2 * 123456 << " n " ;
// Output: 1505331490682966620443288524512589666204282352096057600 = 2番目のオペランドは、 BigInt 、整数(長いlong long )、または文字列( std::stringまたは文字列リテラル)のいずれかです。
big1 = 1234567890 ;
big1 = " 123456789012345678901234567890 " ;
big1 = big2;+ 、 - big1 = +big2; // doesn't return the absolute value
big1 = -big2;+ 、 - 、 * 、 / 、 %オペランドの1つはBigIntでなければならず、もう1つはBigInt 、整数(長いlong long )または文字列( std::string列リテラル)です。
big1 = big2 + 1234567890 ;
big1 = big2 - " 123456789012345678901234567890 " ;
big1 = big2 * big3;
big1 = 1234567890 / big2;
big1 = " 123456789012345678901234567890 " % big2;+= 、 -= 、 *= 、 /= 、 %= 2番目のオペランドは、 BigInt 、整数(長いlong long )、または文字列( std::stringまたは文字列リテラル)のいずれかです。
big1 += big2;
big1 -= 1234567890 ;
big1 *= " 123456789012345678901234567890 " ;
big1 /= big2;
big1 %= 1234567890 ;++ 、 -- big1 = ++big2; // pre-increment
big1 = --big2; // pre-decrement
big1 = big2++; // post-increment
big1 = big2--; // post-decrement < 、 > 、 <= 、 >= 、 == 、 !=オペランドの1つはBigIntでなければならず、もう1つはBigInt 、整数(長いlong long )または文字列( std::string列リテラル)です。
if (big1 < 1234567890
or big1 > " 123456789012345678901234567890 "
or big1 <= big2
or 1234567890 >= big1
or " 123456789012345678901234567890 " == big1
or big1 != big3) {
...
}<< 、 >> std::cout << big1 << " , " << big2 << " n " ;
output_file << big1 << " , " << big2 << " n " ;
std::cin >> big1 >> big2;
input_file >> big1 >> big2;to_string 、 to_int 、 to_long 、 to_long_long BigInt string 、 int 、 long 、またはlong longいずれかに変換します。
注: BigIntターゲットタイプの範囲を超えている場合、out_of_range例外がスローされます。
some_str = big1.to_string();
some_int = big1.to_int();
some_long = big1.to_long();
some_long_long = big1.to_long_long();abs BigIntの絶対値を取得します。
big1 = abs(big2);big_pow10 10 expに等しいBigIntを取得します。
big1 = big_pow10( 5000 ); // big1 = 10^5000 gcd 2つのBigIntの最大の共通除数(GCD別名HCF)を取得します。引数の1つは、整数( long longまで)または文字列( std::stringまたは文字列リテラル)です。
big1 = gcd(big2, big3);
big1 = gcd(big2, 1234567890 );
big1 = gcd(big2, " 123456789012345678901234567890 " );
big1 = gcd( 1234567890 , big2);
big1 = gcd( " 123456789012345678901234567890 " , big2);lcm 2つのBigIntの最小一般的な倍数(LCM)を取得します。引数の1つは、整数( long longまで)または文字列( std::stringまたは文字列リテラル)です。
big1 = lcm(big2, big3);
big1 = lcm(big2, 1234567890 );
big1 = lcm(big2, " 123456789012345678901234567890 " );
big1 = lcm( 1234567890 , big2);
big1 = lcm( " 123456789012345678901234567890 " , big2);pow Base Expの価値をBigIntとして取得します。ベースは、 BigInt 、整数( long long )、または文字列( std::stringまたは文字列リテラル)のいずれかです。
big1 = pow(big2, 789 );
big1 = pow( 987654321LL , 456 ); // suffix literal with LL to prevent conflicts
big1 = pow( " 1234567890 " , 123 );sqrt BigIntの整数平方根を取得します。
big1 = sqrt(big2);big_randomランダムなBigIntを取得します。これには、乱数数(最大1000)または特定の数字数があります。
// get a random BigInt that has a random number of digits (up to 1000):
big1 = big_random();
// get a random BigInt that has 12345 digits:
big1 = big_random( 12345 );このプロジェクトはヘッダーのみのライブラリとして構築されているため、ソースファイルはありません。ただし、各ヘッダーファイルにはプロジェクトが分割されている単体テストがあります。これらは、コマンドラインを介してコンパイルおよび構築するか、Cmake(Clion、QT Creatorなど)を直接サポートするIDEを使用したり、CMakeがプロジェクトファイル(Visual Studio、Eclipse CDT、Code :: Blocksなど)を生成できるIDEを使用して構築できます。
LinuxおよびMacOSでは、プロジェクトのルートディレクトリからコマンドラインを使用してテストをコンパイルして実行できます。
make 。make test実行します。make release実行します。生成されたファイルは、 releaseフォルダーに表示されます。Settings > Build > CMakeで見つけることができるcmakeのビルド設定で、 build Generation pathを設定します。次に、構築/実行するターゲット(ユニットテスト)を選択するだけで、IDEが残りを行います。
IDEがCmakeを直接サポートしない場合は、IDEのプロジェクトファイルを生成するために、適切なフラグを使用してコマンドラインを介してcmake実行する必要があります。試してみてください、それは難しいはずではありません!
プロジェクトに貢献する方法の詳細については、貢献ガイドラインをお読みください。
このプロジェクトは、MITライセンスの条件に基づいてライセンスされています。