30/09/2018, 19:13
Chúc mừng năm mới 2016!
Để năm mới may mắn hơn mình sẽ đố vui một bài toán đầu năm như sau:
Tìm chữ số đầu tiên và cuối cùng của 2016^2016
Bài liên quan
Để năm mới may mắn hơn mình sẽ đố vui một bài toán đầu năm như sau:
Tìm chữ số đầu tiên và cuối cùng của 2016^2016
số cuối cùng chắc chắn là 6. Còn số đầu tiên thì … K biết.
số đầu là 4 số cuối là 6 không biết có đúng không
Góp vui lấy trước số cuối
7
Số đầu là số 6, do chữ số hàng đơn vị của tích số chỉ bị ảnh hưởng bởi hai chữ số hàng đơn vị của hai thừa số.
Số cuối là số 6, không biết trình bày sao .
Hình như là 7 và 6
Em cũng góp vui 7-6
Bài này có thể giải bằng toán. Không cần tính số lớn để tìm số đầu tiên đâu
làm như thế nào v ạ, chỉ e với.
Dùng
BigInteger
trong java có thể giải nhanh như sau:Nếu là C hay C++ thì sao ạ?
Giải bằng toán kiểu gì vậy ạ
Dùng logarit…
Lời giải khá ngắn như sau:
Giả sử A=2016^2016, a là chữ số đầu, k là số chữ số của A
ta có: a*10^(k-1)<= A<= (a+1)10^(k-1)
logarit cơ số 10 2 vế
loga+k-1<= logA< log(a+1)+ k-1
dễ dàng suy ra k=[logA]+1= [2016log2016]+1 = 6662
loga<={logA}; log(a+1)> {logA}
=> a=[10^{logA}] = 7
{} là phép lấy phần thập phân
[] là phép lấy phần nguyên
Gọi M là chữ số đầu tiên, 1 <= M <= 9. Ta có:
20162016 = M.mantissa x 10exponential
log10(20162016) = log10(M.mantissa x 10exponential)
2016 x log10(2016) = log10(M.mantissa) + log10(10exponential)
6661.852904 = log10(M.mantissa) + exponential
trong đó:
vì mantissa < 1 nên M.mantissa = M + mantissa < 10. Vậy log10(M.mantissa) < 1. Hay phần này chính là phần thập phân của 6661.852904.
vậy ta có:
log10(M.mantissa) = 0.852904
M.mantissa = 100.852904
M.mantissa = 7.1269…
vậy M = 7
edit: ặc, viết lời giải trễ 2 phút
dùng modum chắc ra
toàn chuyên Toán với chuyên Tin thế này
python thần thánh, vài tích tắc thôi sao cái này tính nhanh thế mà em code giaỉ thuật độ phức tạp cao là nó đớ lun v
Bác có biết là lúc đầu em lo xa phải ngồi cài numpy không xong lúc đang chờ nó cài đặt thì thử pow cái được luôn hư cấu v~
Python có opeator mũ mà, xài pow chi. Gõ
2016**2016
là ra rồiTại em nghĩ pow lớn quá sợ nó k tính nổi à mà lúc đó lại phát hiện ra cái thú vị, python có 2 cái pow, 1 cái math.pow nữa nếu mà lỡ
from math import *
là toi