Tại sao kết quả lại trả về một số quá lớn?

mọi người ơi em đang có bài về c++ nhưng khi làm xong thì với số quá lớn thì lại trả về inf hay 6.89e+1932 vân vân… ạ. Có cách nào khắc phục k ạ…

    #include<bits/stdc++.h>
#define ll long long
using namespace std;
ll m,n;
unsigned long long solve(ll m,ll n)
{
    return (m-1)*(n-1);
}

int main()
{

    cin>>m>>n;
    cout<<pow(2,solve(m,n));
}

mọi kiểu dữ liệu lưu có giới hạn.

nếu tính 2^(số nguyên dương) thì áp dụng xử lí bignum bằng string đi.

2 Likes

Bạn vui lòng up nguyên văn đề bài chứ đề thường cho modulo cái gì đó.

3 Likes

Cho bảng n × m . Hỏi có bao cách điền các số 1 và -1
Vào các ô trong bảng sao cho tích các số trong cùng 1 hàng và trong cũng 1 cột bằng 1

Có cần phải lấy mod 10^9 + 7 không bạn?

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?