বেস 7 লাইটকোড সমাধান


কাঠিন্য মাত্রা সহজ
প্রায়শই জিজ্ঞাসা করা হয় ব্লুমবার্গ Garena
ম্যাথ

সমস্যা বেস 7 লাইটকোড সলিউশন, আমাদের একটি সংখ্যাকে বেস 7 সংখ্যায় রূপান্তর করতে বলে। প্রদত্ত সংখ্যাটি 10 ​​মিলিয়ন অবধি সংখ্যার লাইনের উভয় দিকেই নেতিবাচক বা ধনাত্মক হতে পারে সমস্যাটি সহজ বলে মনে হচ্ছে এবং দশমিক সংখ্যাটিকে একটি ভিন্ন বেসে রূপান্তর। যেমন বাইনারি ফর্ম্যাটে কোনও সংখ্যার রূপান্তর। বেসটি 2 হওয়ার পরিবর্তে বেসটি 7 হয় The ফেরতের মানটি একটি স্ট্রিং হওয়া উচিত। আসুন কয়েকটি উদাহরণ দেখুন।

উদাহরণ

100
"202"

ব্যাখ্যা: রূপান্তরকরণের পরে বেস 202 এর 7 সংখ্যা দশমিক ফর্ম্যাটে 100 ফলন করে। বেস 202 = 7 * (2 ^ 7) + 2 * (0 ^ 7) + 1 * (2 ^ 7) = বেস 0 এ 100।

বেস 7 লাইটকোড সমাধান

-7
"-10"

ব্যাখ্যা: প্রদত্ত নম্বর -7 বেস 7 এ রূপান্তর করার পরে -10 দেবে।

বেস 7 লাইটকোড সমাধানের জন্য পদ্ধতির ach

সমস্যা বেস 7 লাইটকোড সলিউশন, আমাদের একটি সংখ্যা বা সরবরাহ করে পূর্ণসংখ্যা এবং আমাদের এটিকে বেসে 7 এ রূপান্তর করতে বলছে কেবলমাত্র 7 বেসকে রূপান্তর করা একটি সহজ ক্রিয়াকলাপ। আমরা প্রদত্ত নম্বরটি আমাদের প্রয়োজনীয় বেসের সাথে ভাগ করে চলি। সংখ্যাটি ভাগ করার পরে, অবশিষ্টটি সংরক্ষণ করা হয়। তারপরে সংখ্যা ভাগ করার পরে পাওয়া ফলাফল আবার পুনরাবৃত্তি বিভাগের জন্য প্রেরণ করা হয়। আমরা বাকীটি সংরক্ষণ করি যা প্রশ্নের উত্তর। পুনরাবৃত্তি প্রক্রিয়াটি প্রদত্ত বেসের চেয়ে কম হয়ে গেলে একবার বন্ধ হয়ে যায়।

সুতরাং, আসুন 100 ইনপুট হিসাবে বিবেচনা করা যাক। প্রথমত, আমরা সংখ্যাটি 7 দ্বারা ভাগ করি, ভাগফলটি 14 হয় এবং বাকী 2 হয় Then তারপরে অবশিষ্টটি সংরক্ষণ করা হয় এবং ভাগফলটি আবার বিভাগের জন্য প্রেরণ করা হয়। এখন, ভাগফল 2 হয়ে যায়, এবং অবশিষ্টটি সংরক্ষণ করা হয়। এখন অবধি, রূপান্তরিত সংখ্যাটি 20 হয়ে যায় Then তারপরে ভাগফলটি আবার বিভাগের জন্য প্রেরণ করা হলেও ফিরে দেওয়া হয় কারণ এটি প্রদত্ত বেসের চেয়ে কম (7)। সুতরাং, চূড়ান্ত ফলাফলটি 202 এ বেরিয়ে আসে।

কোড

বেস 7 লেটকোড সমাধানের জন্য সি ++ কোড

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

string convertToBase7(int num) {
    if(num < 0)return "-" + convertToBase7(-num);
    else if(num < 7) return to_string(num);
    else
        return convertToBase7(num/7) + convertToBase7(num%7);
}

int main(){
    cout<<convertToBase7(100);
}
202

বেস 7 লিটকোড সমাধানের জন্য জাভা কোড

import java.util.*;
import java.lang.*;
import java.io.*;

class Solution {
    public static String convertToBase7(int num) {
        if(num < 0)return "-" + convertToBase7(-num);
        else if(num < 7) return Integer.toString(num);
        else
            return convertToBase7(num/7) + convertToBase7(num%7);
    }
    
    public static void main(String[] args){
    	System.out.print(convertToBase7(100));
    }
}
202

জটিলতা বিশ্লেষণ

সময় জটিলতা

ও (এম (এন) লগ এন), যেখানে এন প্রদত্ত ইনপুটটির দৈর্ঘ্য, এম (এন) সময় হয় এটি 2 XNUMX-বিট সংখ্যাকে ভাগ করতে সময় নেয়। সুতরাং, সময়ের জটিলতা হ'ল লগারিদমিক।

স্পেস জটিলতা ity

ও (লগ এন), সংকলক স্ট্যাক দ্বারা ব্যবহৃত স্থান। এখানে এন সংখ্যার দৈর্ঘ্য উপস্থাপন করে। সুতরাং, স্থান জটিলতা লগারিদমিকও।