N-th Tribonacci Number Leetcode ដំណោះស្រាយ


កម្រិតលំបាក មានភាពងាយស្រួល
សួរញឹកញាប់ Facebook
ការសរសេរកម្មវិធីឌីណាមិក

សេចក្តីថ្លែងការណ៍បញ្ហា

នៅក្នុងបញ្ហា "លេខទី Tribonacci លេខ" យើងត្រូវបានផ្តល់លេខ n ។ ភារកិច្ចរបស់យើងគឺដើម្បីរកឱ្យឃើញ N-th tribonacci ចំនួន។

លេខ tribero គឺលេខ ០ ។

លេខ tribonacci N-th គឺជាការបូកសរុបនៃ (លេខ triboncci N-1-) (លេខ tribonacci N-2-) និង (លេខទី -២ នៃលេខ tribonacci) ។

N-th Tribonacci Number Leetcode ដំណោះស្រាយ

ឧទាហរណ៍

n = 4
4

ការពន្យល់: ក្នុងនាមជាលេខ zeroth ដំបូងនិងលេខ tribonacci គឺ 0,1,1 រៀងៗខ្លួន។ ដូច្នេះលេខ tribonacci ទីបីគឺ (០ + ១ + ១) ២ ។ ដូចគ្នានេះដែរ tribonacci ទី ៤ គឺ (១ + ១ + ២) ៤ ។

វិធីសាស្រ្តសម្រាប់ដំណោះស្រាយអិលធូណានស៊ីលេខឡេឡេលេខកូដ

ក្នុងនាមជាលេខ tribonacci N-th ត្រូវបានកំណត់ជាការបូកសរុបនៃ (N-1), (N-2) និង (N-3) ចំនួន tribonacci ។ ដូច្នេះដំបូងយើងត្រូវការលេខ tribonacci (N-3) -th នេះនឹងត្រូវបានប្រើក្នុងការគណនា (N-2), (N-1) និង (N) -th tribonacci ។ ដូច្នេះឥឡូវនេះបញ្ហាថ្មីរបស់យើងគឺត្រូវគណនា (លេខ -៣) - លេខ tribonacci ។ នៅទីនេះយើងអាចសន្និដ្ឋានរឿងមួយគឺដើម្បីគណនាលេខ tribonacci N-th ដែលយើងត្រូវគណនាពីមួយទៅលេខ tribonacci N-th ពីព្រោះរាល់តម្លៃបន្ទាប់គឺអាស្រ័យលើតម្លៃបីមុន។ យើងនឹងអនុវត្តតាមជំហានទាំងនេះ៖

  1. យើងនឹងរក្សាទុកតម្លៃរបស់លេខសឺរ័រលេខទីមួយនិងទី ២ នៅក្នុងអថេរចំនួនបីគឺអ, ខនិងគរៀង។
  2. នេះ a, b, និង c នឹងរក្សាទុកលេខ tribonacci បីចុងក្រោយ។ ដោយប្រើលេខ tribonacci បីចុងក្រោយនេះយើងនឹងគណនាលេខ tribonacci បន្ទាប់ហើយធ្វើបច្ចុប្បន្នភាពតម្លៃនៃ a, b, និង c ។
  3. យើងនឹងធ្វើជំហានទី ២ ម្តងទៀតរហូតដល់យើងរកឃើញតម្លៃនៃលេខ tribonacci N-th បន្ទាប់មកយើងនឹងប្រគល់វាមកវិញ។

ការអនុវត្តន៍

កូដ C ++ សំរាប់លេខទី Tribonacci លេខ

#include <bits/stdc++.h> 
using namespace std; 
    int tribonacci(int n) {
        if (n < 2) return n;
        int a = 0, b = 1, c = 1, d = a + b + c;
        while (n-- > 2) {
            d = a + b + c, a = b, b = c, c = d;
        }
        return c;
    }

int main() 
{ 
int n=4;
int ans=tribonacci(n); 
 cout<<ans<<endl;
 return 0;
}
4

កូដចាវ៉ាសំរាប់លេខទី Tribonacci លេខ

import java.util.Arrays;
import java.util.Set ;
import java.util.HashSet;
import java.util.*; 
public class Tutorialcup {
    public static int tribonacci(int n) {
        if (n < 2) return n;
        int a = 0, b = 1, c = 1, d;
        while (n-- > 2) {
            d = a + b + c;
            a = b;
            b = c;
            c = d;
        }
        return c;
    }
  public static void main(String[] args) {
        int n=4; 
        int ans=tribonacci(n); 
        System.out.println(ans);
  }
}
4

ការវិភាគស្មុគស្មាញនៃដំណោះស្រាយអិលធីណាណូស៊ីលេខឡេឡេលេខកូដ

ភាពស្មុគស្មាញពេលវេលា

ពេលវេលាស្មុគស្មាញនៃលេខកូដខាងលើគឺ អូរ (n) ដោយសារតែយើងកំពុងធ្វើវារហូតដល់លេខ tribonacci N-th ។ នៅទីនេះ n គឺជាលេខដែលបានផ្តល់ឱ្យដែលយើងត្រូវគណនាលេខ tribonacci N-th ។

ភាពស្មុគស្មាញនៃលំហ

ភាពស្មុគស្មាញចន្លោះនៃលេខកូដខាងលើគឺ ឱ (១) ពីព្រោះយើងកំពុងប្រើតែអថេរដើម្បីរក្សាទុកចម្លើយ។

ឯកសារយោង