ஃபைபோனச்சி எண்களை தலைகீழ் வரிசையில் அச்சிடுங்கள்


சிரமம் நிலை எளிதாக
அடிக்கடி கேட்கப்படுகிறது அக்சன்சர் MAQ o9 தீர்வுகள் யுஎச்ஜி ஆப்டம்
டைனமிக் புரோகிராமிங் வரிசை

சிக்கல் அறிக்கை

ஒரு எண் n கொடுக்கப்பட்டால், ஃபைபோனச்சி எண்களை தலைகீழ் வரிசையில் அச்சிடுங்கள்.

உதாரணமாக

n = 5
3 2 1 1 0

விளக்கம்: ஃபைபோனச்சி எண்கள் 0, 1, 1, 2, 3 ஆகும். ஆனால் நாம் தலைகீழ் வரிசையில் அச்சிட வேண்டியிருந்தது.

n = 7
8 5 3 2 1 1 0

ஃபைபோனச்சி எண்களை தலைகீழ் வரிசையில் அச்சிடுங்கள்

கடைசி 2 ஃபைபோனச்சி எண்களின் முடிவைப் பொறுத்து ஃபைபோனச்சி எண்கள் எவ்வாறு உள்ளன என்பதை இந்த எண்ணிக்கை குறிக்கிறது.

அல்காரிதம்

  1. உள்ளீட்டை எடுத்துக் கொள்ளுங்கள், அச்சிடப்பட வேண்டிய உறுப்புகளின் எண்ணிக்கை.
  2. கொடுக்கப்பட்ட உள்ளீட்டின் அளவின் வரிசையை அறிவிக்கவும்.
  3. 0 மற்றும் 1 உடன் 0 மற்றும் 1 வது வரிசை குறியீட்டைத் தொடங்கவும்.
  4. I = 2 இலிருந்து ஒரு சுழற்சியை இயக்கத் தொடங்குகிறோம், i இன் மதிப்பு n ஐ விடக் குறைவாக இருக்கும் வரை, i இன் மதிப்பை ஒவ்வொன்றாக அதிகரிக்கும்.
    1. கடைசி குறியீட்டு உறுப்பு மற்றும் கடைசியாக கடைசி குறியீட்டு உறுப்பு ஆகியவற்றைச் சேமித்து வைத்திருங்கள்.
  5. இப்போது இந்த வரிசையை தலைகீழ் வரிசையில் அச்சிடுக.

அணுகுமுறை

ஃபைபோனச்சி எண்களை அச்சிடுவதற்கான ஒரு அப்பாவி அணுகுமுறை எப்போதும் இருந்து வருகிறது மறுநிகழ்வு. மறுநிகழ்வு பற்றி எங்களுக்குக் கூறப்படும்போதெல்லாம், முதலில் நாம் பொதுவாகக் கூறப்படுவது ஃபைபோனச்சி எண்கள். எனவே, மறுநிகழ்வைப் பயன்படுத்தி ஃபைபோனச்சி எண்களைக் காணலாம். பின்னர் அவற்றை தலைகீழ் வரிசையில் அச்சிடுங்கள். ஆனால் இதைச் செய்வதற்கு கனமான கணக்கீடு தேவைப்படுகிறது, எனவே அதைச் செய்வதற்குப் பதிலாக ஒரு மாற்று அணுகுமுறையைப் பற்றி நாம் சிந்திக்க வேண்டும்.

மாற்று அணுகுமுறை டைனமிக் நிரலாக்க, சிக்கலைத் தீர்ப்பதில் அடிக்கடி தேவைப்படும் தரவை நாங்கள் சேமிக்கிறோம். ஃபைபோனச்சி எண்களைப் பயன்படுத்துவதையும் நாங்கள் விவாதித்தோம் டைனமிக் நிரலாக்க முந்தையவற்றில் பதவியை.

குறியீடு

ஃபைபோனச்சி எண்களை தலைகீழ் வரிசையில் அச்சிட சி ++ குறியீடு

#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

ஃபைபோனச்சி எண்களை தலைகீழ் வரிசையில் அச்சிட ஜாவா குறியீடு

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

சிக்கலான பகுப்பாய்வு

நேர சிக்கலானது

ஓ (என்), ஃபைபோனச்சி எண்களைக் கணக்கிட இந்த நேரம் தேவைப்படுகிறது. ஏனெனில் ஃபைபோனச்சி வரிசையைக் கண்டுபிடிக்க ஒற்றை வளையத்தை இயக்குகிறோம். நேர சிக்கலானது நேரியல்.

விண்வெளி சிக்கலானது

ஓ (என்), ஃபைபோனச்சி எண்களின் மதிப்புகளைச் சேமிக்க ஒரு வரிசையைப் பயன்படுத்தியுள்ளதால், இட சிக்கலானது நேரியல்.