דרוק די Fibonacci נומערן אין פאַרקערט סדר  


שוועריקייט לעוועל גרינג
אָפט געבעטן אין אַקסענטורע מאַק אָ 9 סאַלושאַנז UHG Optum
דינאַמיש פּראָגראַממינג סעקווענסע

פּראָבלעם סטאַטעמענט  

געגעבן אַ נומער N, דרוק די Fibonacci נומערן אין פאַרקערט סדר.

בייַשפּיל  

n = 5
3 2 1 1 0

דערקלערונג: די Fibonacci נומערן זענען 0, 1, 1, 2, 3 לויט צו זייער אָרדערינג. אָבער זינט מיר דאַרפֿן צו דרוקן אין פאַרקערט סדר.

n = 7
8 5 3 2 1 1 0

דרוק די Fibonacci נומערן אין פאַרקערט סדרשפּילקע  

די פיגור דינאָוץ ווי Fibonacci נומערן זענען אָפענגיק אויף דער רעזולטאַט פון די לעצטע 2 Fibonacci נומערן.

אַלגאָריטהם  

  1. נעמען אַרייַנשרייַב, די נומער פון עלעמענטן צו דרוקן.
  2. דערקלערן אַ מענגע פון ​​גרייס ווי די געגעבן ינפּוט.
  3. ערשט די 0 און 1 מענגע אינדעקס מיט 0 און 1.
  4. מיר אָנהייבן צו לויפן אַ שלייף פֿון i = 2, ביז די ווערט פון i איז ווייניקער ווי n בשעת ינקראַמענטינג די ווערט פון איך איינער דורך איינער.
    1. האַלטן סטאָרד די דערצו פון די לעצטע אינדעקס עלעמענט און לעצט צו לעצט אינדעקס עלעמענט.
  5. דרוק דעם מענגע אין פאַרקערט סדר.

צוגאַנג  

א נאַיוו צוגאַנג צו דרוקן Fibonacci נומערן איז שטענדיק געווען רעקורסיאָן. און ווען מיר דערציילט וועגן רעקורסיאָן, די ערשטע זאַך וואָס מיר בכלל זאָגן וועגן זענען Fibonacci נומערן. מיט רעקורסיאָן, מיר קענען געפֿינען די Fibonacci נומערן. און זיי פשוט דרוקן זיי אין פאַרקערט סדר. אָבער צו טאָן דאָס ריקווייערז שווער קאַמפּיאַטיישאַן, אַזוי אַנשטאָט פון דעם טאָן מיר דאַרפֿן צו טראַכטן פון אַן אָלטערנאַטיוו צוגאַנג.

די אָלטערנאַטיוו צוגאַנג איז דינאַמיש פּראָגראַממינג, וווּ מיר סטאָרד די דאַטן וואָס זענען אָפט פארלאנגט אין סאַלווינג די פּראָבלעם. מיר האָבן אויך דיסקאַסט צו געפֿינען Fibonacci נומערן דינאַמיש פּראָגראַממינג אין די פריערדיקע פּאָסטן.

זע אויך
גרייס פון די סובאַררייַ מיט מאַקסימום סומע

קאָדעקס  

C ++ קאָד צו דרוקן Fibonacci נומערן אין פאַרקערט סדר

#include<bits/stdc++.h>
using namespace std;

int main()
{
    int n;cin>>n;
    int fib[n];
    if(n>=1)
    fib[0] = 0;
    if(n>=2)
    fib[1] = 1;
    for(int i=2;i<n;i++)
        fib[i] = fib[i-1] + fib[i-2];
    for(int i=n-1;i>=0;i--)
        cout<<fib[i]<<" ";
}
4
2 1 1 0

Java קאָד צו דרוקן Fibonacci נומערן אין פאַרקערט סדר

import java.util.*;
class Main{
  
  public static void main(String[] args)
  {
    Scanner sc = new Scanner(System.in);
    int n = sc.nextInt();
    	int fib[] = new int[n];
    	if(n>=0)
    		fib[0] = 0;
    	if(n>=1)
    		fib[1] = 1;
    	for(int i=2;i<n;i++)
    		fib[i] = fib[i-1] + fib[i-2];
    	for(int i=n-1;i>=0;i--)
    		System.out.print(fib[i]+" ");
  	}
}
4
2 1 1 0

קאַמפּלעקסיטי אַנאַליסיס  

צייט קאַמפּלעקסיטי

O (N), דאָס מאָל איז פארלאנגט צו רעכענען די Fibonacci נומערן. ווייַל מיר נאָר פירן אַ איין שלייף צו געפֿינען די Fibonacci סיקוואַנס. די צייט קאַמפּלעקסיטי איז לינעאַר.

ספעיס קאַמפּלעקסיטי

אָ (N), ווייַל מיר האָבן געוויינט אַ מענגע צו קראָם די וואַלועס פון Fibonacci נומערן, די פּלאַץ קאַמפּלעקסיטי איז לינעאַר.