正の整数変数「num」と「x」が与えられています。このタスクは、num^x を再帰的に計算し、結果の数値を 1 桁に達するまで加算することです。結果の 1 桁が出力として与えられます。
入力 - int num = 2345, int x = 3
出力 - n 内の数値の再帰合計 ^x (n と x は非常に大きい): 8
説明- 正の整数値 num と x が与えられます。 、値が 2345 の場合、累乗は 3 です。まず、2345^3、つまり 12,895,213,625 を計算します。さて、これらの数字を足してみましょう。1 2 8 9 5 2 1 3 6 2 5、つまり 44 となります。ここで、4 4 を足して 8 になります。 1 桁に達したため、出力は 8 になります。
入力 - int num = 3, int x = 3
出力 - n^x の数値の再帰的合計 (n とx は非常に大きい: 9
説明- 値 3 と累乗 3 を持つ正の整数値 num と x が与えられます。 まず 3^3、つまり 9 を計算します。すでに 1 桁を取得しているため、出力は 9 となり、これ以上の計算は必要ありません。
整数変数 num と x を入力し、データを関数 Recursive_Digit(num, x) に渡します。処理。
#include <bits/stdc++.h> using namespace std; long total_digits(long num){ if(num == 0){ return 0; } if(num % 9 == 0){ return 9; } else{ return num % 9; } } long Recursive_Digit(long num, long power){ long total = total_digits(num); long temp = power % 6; if((total == 3 || total == 6) & power > 1){ return 9; } else if (power == 1){ return total; } else if (power == 0){ return 1; } else if (temp == 0){ return total_digits((long)pow(total, 6)); } else{ return total_digits((long)pow(total, temp)); } } int main(){ int num = 2345; int x = 98754; cout<<"Recursive sum of digit in n^x, where n and x are very large are: "<<Recursive_Digit(num, x); return 0; }Output
Recursive sum of digit in n^x, where n and x are very large are: 1
以上がn^x の桁の合計を再帰的に求めます。n と x は両方とも非常に大きく、C++ を使用して実装されます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。