C++でN番目のフィボナッチ数の最後の2桁を検索するプログラム
この問題では、番号Nが与えられます。私たちのタスクは、C++でN番目のフィボナッチ数の最後の2桁を見つけるプログラムを作成することです。
問題の説明
N番目のフィボナッチ数の最後の2桁(つまり、2つのLSB)を見つける必要があります。問題を理解するために例を見てみましょう
入力 :N =120
出力 :81
ソリューションアプローチ
簡単な解決策は、直接フィボナッチ式を使用してN番目の項を見つけることです。ただし、Nが大きい場合、この方法は実行できません。したがって、これを克服するために、最後の2桁が300項後に繰り返されるフィボナッチ数列のプロパティを使用します。つまり第75項の最後の2桁は、第975項のそれと同じです。
これは、300まで作業すると、考えられるすべての組み合わせが得られ、使用する用語を見つけるために、300の数値のmodが見つかることを意味します。
例
#include <iostream> using namespace std; long int fibo(int N){ long int a=0,b=1,c; for(int i=2; i<= N;i++) { c=a+b; a=b; b=c; } return c; } int findLastTwoDigitNterm(int N) { N = N % 300; return ( fibo(N)%100); } int main() { int N = 683; cout<<"The last two digits of "<<N<<"th Fibonacci term are "<<findLastTwoDigitNterm(N); return 0; }
出力
The last two digits of 683th Fibonacci term are 97
-
C ++を使用して、N階乗の合計の最後の2桁を検索します。
ここでは、最後の2桁を取得する方法を説明します。 N階乗の合計の単位桁と10桁。したがって、N =4の場合、1になります。 + 2! + 3! + 4! =33.したがって、単位の場所は3で、10の場所は3です。結果は33になります。 10の後、10の場所は0のままになります。N=10以上の場合、00になります。階乗数のN=1から10のグラフを作成できます。 これらの手順を使用してこの問題を解決できます- nの値が10未満の場合、(1!+ 2!+…+ n!)mod 10 それ以外の場合、nの値が10以上の場合、(1!+ 2!+…+ 10!)mod 10 =13 例 #inc
-
PythonでN番目のフィボナッチ数を見つけるプログラム
数nがあるとすると、n番目のフィボナッチ項を見つける必要があります。 i番目のフィボナッチ項f(i)=f(i-1)+ f(i-2)がわかっているので、最初の2つの項は0、1です。 したがって、入力が15のような場合、出力は610になります。 これを解決するには、次の手順に従います- 最初:=0、2番目:=1 2からnの範囲のiについては、 temp:=1番目+2番目 最初:=2番目 秒:=一時 2番目に戻る 理解を深めるために、次の実装を見てみましょう- 例 class Solution: def solve(self, n): &n