দুটি পূর্ণসংখ্যা দেয়া আছে, n এবং m । এখন nm সংখ্যাটিতে কয়টি অঙ্ক (Digit) আছে কীভাবে বের করবো?

উদাহরণঃ
২ এবং ১০ --> ২১০ = ১০২৪ (৪টি অঙ্ক)
৩ এবং ৯ --> ৩ = ১৯৬৮৩ (৫টি অঙ্ক)
১০০ এবং ১০০ --> ১০০১০০ (২০১টি অঙ্ক)

asked 18 Oct, 12:49

Masud%20Rana's gravatar image

Masud Rana
174

edited 18 Oct, 13:23

Mosharraf%20Hosain's gravatar image

Mosharraf Hosain ♦
60618


#include <bits/stdc++.h>

using namespace std;

string bigMultiplication(string first, string second) {
    int firstLength = first.size(), secondLength = second.size();
    if(firstLength == 0 || secondLength == 0) {
         return "0";
    }

    vector<int> result(firstLength + secondLength, 0);
    int k = 0;

    for(int i = firstLength - 1; i >= 0; i--) {
        int carry = 0, l = 0;
        for(int j = secondLength - 1; j >= 0; j--) {
            carry += (first[i] - '0') * (second[j] - '0') + result[k + l];
            result[k + l] = carry % 10;
            carry /= 10;
            l++;
        }
        if(carry) {
            result[k + l] += carry;
        }
        k++;
    }

    int i = result.size() - 1;
    while(i >= 0 && result[i] == 0) {
        i--;
    }

    string ans = "";
    while(i >= 0) {
        ans += result[i--] + '0';
    }

    return ans;
}

int countDigit(string base, int power) {
    string result = "1";

    while(power) {
        if(power & 1) {
            result = bigMultiplication(result, base);
        }
        power >>= 1;
        base = bigMultiplication(base, base);
    }

    return result.size();
}

int main()
{
    string base;
    int power;

    cin >> base >> power;
    cout << countDigit(base, power) << endl;

    return 0;
}
permanent link

answered 20 Oct, 10:01

sourav_hossain's gravatar image

sourav_hossain
964

edited 20 Oct, 11:09

Mosharraf%20Hosain's gravatar image

Mosharraf Hosain ♦
60618

পাইথনে কাজটি সহজে করা যায়

num = 100**100                       # 100**100 = 100^100 in Python
count = 1
while True:
    num /= 10
    count += 1
    if num < 10:
       break

print(count)

সি/সি++ এ এতবড় সংখ্যা নিয়ে এই পদ্ধতিতে কাজ করা যাবে না। জাভাতে বিগইন্টিজার ব্যবহার করা যায়।

পাইথনে বড় সংখ্যা (যেমন ৬.০২৩ * ১০২৩ বা ৬.০২৩e২৩) ইনপুট নিতে float(input()) ব্যবহার করা যায়।

>>> var = float(input())
6.023e23
>>> print(var)
6.023e+23
>>>
permanent link

answered 18 Oct, 14:01

Mosharraf%20Hosain's gravatar image

Mosharraf Hosain ♦
60618

আমি জানতে চাচ্ছি যে c/c++ এ কিভাবে এই মান বের করব???

(20 Oct, 09:25) Masud Rana
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×54

question asked: 18 Oct, 12:49

question was seen: 77 times

last updated: 20 Oct, 11:09