初始时,编号为 i 的座位里存放数字 i。对于每个 x=1,2,…,n,要将所有编号为 x 的倍数的座位中的数字循环向后移动一格。
arr[1…n] 存放当前各座位的数字。prev = arr[k*x],在一场晚会中,礼堂内有一排共 n 个座位,从左到右依次编号为 1 到 n。初始时,编号为 i 的座位上坐着编号为 i 的嘉宾。
主持人会按顺序进行 n 轮点名。在第 x 轮(x=1,2,…,n)中,所有座位编号是 x 的倍数的嘉宾将按照座位编号从小到大的顺序进行一次循环移动:座位 x 上的嘉宾移动到座位 2x,座位 2x 上的嘉宾移动到座位 3x,依此类推,最后一个座位 kx(其中 k 是满足 kx≤n 的最大整数)上的嘉宾移动到座位 x。若某轮中 x 的倍数个数不超过 1,则该轮无人移动。
请你在所有点名结束后,求出每个座位上最终坐着的是原来编号为多少的嘉宾。
约束:n 是一个整数,满足 1≤n≤105。
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.