安徽科技工程大学程序设计在线考试系统Ver3.0

诚信考试,杜绝作弊!

问题 B: 平方取中法(midsquare method)

内存限制:512 MB 时间限制:1 S 标准输入输出
题目类型:传统 评测方式:文本比较

题目描述

平方取中法(midsquare method)是产生[0,1]均匀分布随机数的方法之一,亦称冯·诺伊曼取中法,最早由冯·诺伊曼(John von Neumann,1903-1957)提出的一种产生均匀伪随机数的方法。这里我们将这个算法稍作修改,产生下一个伪随机的正整数n 不妨设置为 n (1)如果 n不足256 则+256 (2)n表示成32位二进制(高位补0,), (3)舍去n的高16位 (4)计算 n*n表示成32位二进制(高位补0,), (5)舍去高8位,低8位,获得一个16位二进制 这个就是下一个随机数m

输入格式

一个整数 n


输出格式

输出用这个算法产生的下一个整数 

输入样例 复制

16

输出样例 复制

289

数据范围与提示

样例解释n=16
n=n+256=272
二进制  272(10)=00000000000000000000000100010000(2)
舍去高16位  n=0000000100010000(2)
t=n*n=00000000000000010010000100000000(2)
k=0000000100100001(2)=289(10)