Làm sao để tạo ngẫu nhiên số lớn tầm 80 chữ số (> 2^96), và em không biết long long liệu có lưu trữ đủ hay phải dùng kiểu dữ liệu gì ?
Tạo số lớn ngẫu nhiên
Bạn đăng đầy đủ đề bài lên đây xem nào.
2^96 không đủ nhét vào long long đâu bạn.
Bạn có thể tạo ra 1 số lớn giả ngẫu nhiên, bằng cách ghép nhiều số nhỏ để tạo thành 1 số lớn.
Ví dụ, bạn muốn sinh 1 số ngẫu nhiên 80 chữ số, bạn có thể tạo ra 10 số ngẫu nhiên có 8 chữ số rồi ghép lại.
C# có kiểu BigInteger, trong đó có constructor nhận vào một mảng các byte đó cậu.
Cậu có thể tạo 1 mảng byte n phần tử, random từng byte một và tạo BigInteger với mảng byte đó.
Hope it helps!
Mình thấy bạn ấy đang cần làm 1 bài tập là người ta muốn bạn ấy tạo nên cái BigInteger đó chứ không phải là dùng thư viện có sẵn.
tạo ngẫu nhiên số lớn rồi để làm gì chứ chỉ để in ra thì số 80 chữ số thì làm cái string 80 ký tự rồi random '0'
tới '9'
cho từng ký tự (ký tự đầu 1
tới 9
) là ra mà
vẫn còn mấy yêu cầu là tính toán với nó ạ
vậy phải viết class số lớn rồi :V Qua C# thì có sẵn BigInteger
, C và C++ thì phải xài thư viện ngoài, ko được xài thì phải tự viết :V :V Chưa biết kiểu số lớn của em là gì sao chỉ cách tạo số ngẫu nhiên được :V :V
cảm ơn mn ạ, em dùng biginteger và tạo thành công rồi
Mình nghĩ nếu bạn tự viết được thư viện số lớn sẽ học được nhiều hơn
Khó nhất là nhân chia