C ++を使用して、N階乗の合計の最後の2桁を検索します。
ここでは、最後の2桁を取得する方法を説明します。 N階乗の合計の単位桁と10桁。したがって、N =4の場合、1になります。 + 2! + 3! + 4! =33.したがって、単位の場所は3で、10の場所は3です。結果は33になります。
これをはっきりと見ると、N> 5の階乗であるため、単位の場所は0であるため、5を超えると、単位の場所の変更には寄与しません。そして、N> 10の後、10の場所は0のままになります。N=10以上の場合、00になります。階乗数のN=1から10のグラフを作成できます。
これらの手順を使用してこの問題を解決できます-
- nの値が10未満の場合、(1!+ 2!+…+ n!)mod 10
- それ以外の場合、nの値が10以上の場合、(1!+ 2!+…+ 10!)mod 10 =13
例
#include<iostream> #include<cmath> using namespace std; int getTenAndUnitPlace(long long N) { if (N <= 10) { long long ans = 0, factorial = 1; for (int i = 1; i <= N; i++) { factorial = factorial * i; ans += factorial; } return ans % 100; } return 13; } int main() { for(long long i = 1; i<15; i++){ cout << "Ten and Unit place value of sum of factorials when N = "<<i<<" is: " <<getTenAndUnitPlace(i) << endl; } }
出力
Ten and Unit place value of sum of factorials when N = 1 is: 1 Ten and Unit place value of sum of factorials when N = 2 is: 3 Ten and Unit place value of sum of factorials when N = 3 is: 9 Ten and Unit place value of sum of factorials when N = 4 is: 33 Ten and Unit place value of sum of factorials when N = 5 is: 53 Ten and Unit place value of sum of factorials when N = 6 is: 73 Ten and Unit place value of sum of factorials when N = 7 is: 13 Ten and Unit place value of sum of factorials when N = 8 is: 33 Ten and Unit place value of sum of factorials when N = 9 is: 13 Ten and Unit place value of sum of factorials when N = 10 is: 13 Ten and Unit place value of sum of factorials when N = 11 is: 13 Ten and Unit place value of sum of factorials when N = 12 is: 13 Ten and Unit place value of sum of factorials when N = 13 is: 13 Ten and Unit place value of sum of factorials when N = 14 is: 13
-
C ++を使用して、N階乗の合計の単位桁を求めます。
5の階乗として、単位の場所は0であるため、5を超えると、単位の場所の変更には寄与しません。 N =4以上の場合は3になります。単位の場所のグラフを作成し、それをプログラムで使用します。 例 #include<iostream> #include<cmath> using namespace std; double getUnitPlace(int n) { int placeVal[5] = {-1, 1, 3, 9, 3}; if(n > 4){ n = 4; &
-
Pythonを使用して基数Kの桁の合計を見つけるプログラム
10進数システム(基数10)に数値nがあり、別の値kがあるとすると、与えられた数値nを基数10から基数kに変換した後、nの桁の合計を求める必要があります。桁の合計を計算するときは、各桁を10進数(基数10)と見なします。 したがって、入力がn =985 k =8の場合、8進数の985は1731であるため、出力は12になります。したがって、桁の合計は1 + 7 + 3 + 1=12になります。 これを解決するには、次の手順に従います- ans:=0 =kの場合、実行 ans:=ans + n mod k n:=n/kの商 ans:=ans + n