Giới thiệu
Các trung vuông phương pháp được sử dụng để tạo ra các số giả ngẫu nhiên. Tuy nhiên, đây không phải là một phương pháp tốt trong thực tế, vì thời gian của nó thường rất ngắn và có một số điểm yếu nghiêm trọng. Cái này hoạt động ra sao? Hãy lấy một ví dụ:
Đối với hạt giống, chúng tôi chọn 123456
:
Seed 123456
Hạt giống bình phương (hạt giống × hạt giống), bằng:
Seed² 15241383936
Chúng tôi bắt đầu với một số gồm 6 chữ số. Điều đó có nghĩa là hạt giống bình phương sẽ cung cấp một số gồm 12 chữ số. Nếu đây không phải là trường hợp, các số 0 hàng đầu được thêm vào để bù:
Seed² 015241383936
Sau đó, chúng tôi lấy phần giữa của số, với cùng kích thước với hạt giống:
Seed² 015241383936
^^^^^^
Đây là hạt giống mới của chúng tôi : 241383
. Chúng tôi lặp lại quá trình tương tự như được hiển thị ở trên. Chúng tôi nhận được như sau:
0: 123456
015241383936
| |
1: 241383
058265752689
| |
2: 265752
070624125504
| |
3: 624125
389532015625
| |
4: 532015
283039960225
| |
5: 039960
001596801600
| |
6: 596801
Và điều này tiếp tục trong một thời gian ... Bây giờ chúng ta biết phương pháp bình phương là gì, chúng ta hãy đến với thử thách:
Nhiệm vụ
Mỗi hạt giống có một thời kỳ . Thời gian của một hạt giống chữ số n không thể dài hơn 8 n . Ví dụ, hạt giống 82
. Điều này sẽ đưa ra trình tự sau:
82 > 72 > 18 > 32 > 02 > 00 > 00 > 00 > 00 > 00
|____|____|____|____|____|____|____|____|____|___...
0 1 2 3 4 5 6 7 8 9
Bạn có thể thấy rằng khoảng thời gian bằng 5 , trước khi chứa cùng một chữ số. Nhiệm vụ của bạn là, khi được cung cấp một hạt giống lớn hơn 0 không chứa các số 0 đứng đầu, hãy tạo ra khoảng thời gian của hạt giống . Vì vậy, trong trường hợp này, bạn cần phải xuất 5
.
Một ví dụ khác là : 24
, cung cấp các thông tin sau:
24 > 57 > 24
|____|____|___...
0 1 2
Như bạn có thể thấy, không phải tất cả các chuỗi kết thúc 0
. Chu kỳ này có thời gian là 1 .
Các trường hợp thử nghiệm
Input > Output
24 > 1
82 > 5
123456 > 146
8989 > 68
789987 > 226
Các pastebins với các chuỗi cho 123456 , 8989 , 789987
Đây là môn đánh gôn , vì vậy bài nộp có số byte ít nhất sẽ thắng!
Bạn có thể giả định rằng đầu vào sẽ không bao giờ có số chữ số không đồng đều.
24
là định kỳ (với giai đoạn 2, tôi muốn nói), cuối cùng82
là định kỳ (với giai đoạn 1).