Code
# Function to generate random numbers using Middle Square Method
middle_square <- function(seed, digits, n) {
result <- numeric(n)
for (i in 1:n) {
# Square the seed
squared <- seed^2
# Extract middle digits
middle <- as.numeric(substr(as.character(squared), start = (nchar(squared) - digits) / 2 + 1, stop = (nchar(squared) + digits) / 2))
# Update seed
seed <- middle
# Normalize to [0, 1]
result[i] <- middle / (10^digits)
}
return(result)
}
# Set parameters
initial_seed <- 6969
num_digits <- 4
num_random_numbers <- 1000
# Generate random numbers
set.seed(initial_seed) # Set seed for reproducibility
random_numbers <- middle_square(initial_seed, num_digits, num_random_numbers)
# Print generated random numbers
print(random_numbers) [1] 0.5669 0.1375 0.8906 0.3168 0.0362 0.3104 0.6348 0.2971 0.8268 0.3598
[11] 0.9456 0.4159 0.2972 0.8327 0.3389 0.4853 0.5516 0.4262 0.1646 0.7093
[21] 0.3106 0.6472 0.8867 0.6236 0.8876 0.7833 0.3558 0.6593 0.4676 0.8649
[31] 0.8052 0.8347 0.6724 0.2121 0.4986 0.8601 0.9772 0.4919 0.1965 0.8612
[41] 0.1665 0.7722 0.6292 0.5892 0.7156 0.2083 0.3388 0.4785 0.8962 0.3174
[51] 0.0742 0.5056 0.5631 0.7081 0.1405 0.9740 0.8676 0.2729 0.4474 0.0166
[61] 0.2755 0.5900 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[71] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[81] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[91] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[101] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[111] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[121] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[131] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[141] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[151] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[161] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[171] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[181] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[191] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[201] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[211] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[221] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[231] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[241] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[251] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[261] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[271] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[281] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[291] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[301] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[311] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[321] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[331] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[341] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[351] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[361] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[371] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[381] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[391] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[401] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[411] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[421] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[431] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[441] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[451] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[461] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[471] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[481] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[491] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[501] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[511] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[521] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[531] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[541] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[551] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[561] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[571] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[581] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[591] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[601] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[611] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[621] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[631] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[641] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[651] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[661] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[671] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[681] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[691] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[701] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[711] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[721] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[731] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[741] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[751] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[761] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[771] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[781] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[791] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[801] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[811] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[821] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[831] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[841] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[851] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[861] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[871] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[881] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[891] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[901] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[911] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[921] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[931] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[941] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[951] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[961] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[971] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100
[981] 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100
[991] 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100 0.2100 0.4100 0.8100 0.6100