2 shunfurh shunfurh 于 2017.08.28 14:52 提问

Arnold

Do you know Vladimir Arnold? He's a mathematician who demonstrated an image transformation method called arnold transformation, which could shuffle all pixels in an image, and after a serials of this transformation, the image would be transformed to its original form.

The transformation method is quite simple. For a given image with N × N pixels (Width and height are both equal to N), a pixel at location (x, y) will be shuffled to location ((x + y) % N, (x + 2 × y) % N) (0 ≤ x < N, 0 ≤ y < N). In one step of transformation, all N × N pixels will be shuffled to new corresponding location, making the image a chaotic one. You can do the transformation as many times as you can.

The arnold transformation is very interesting. For every image of size N × N, after finite steps of transformation, the image will become exact the same as the original one. The minimum number of steps which make every possible image become the same as origin will be called as period of arnold transformation. For a given N, can you calculate the period?

Input

There will be not more than 200 test cases. For each test case, there will be an integer N in one line. Here N (2 ≤ N ≤ 4000000000) equals to width and height of images.

Output

For each test case, please calculate the period of arnold transformation and output it in one line.

Sample Input

11
29
41
Sample Output

5
7
20

1个回答

caozhy
caozhy   Ds   Rxr 2017.09.11 23:43
已采纳
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
谈谈Arnold之 PBR&Unbiased
最近Arnold很火,作为一个异常犀利的NB渲染器,arnold大有摧枯拉朽打倒旧社会的架势,然而貌似很多人尽管一直在谈arnold,歌颂arnold,却不明白为什么arnold这么屌,以及屌在何处。这篇洗地文献给这些想要和arnold亲接触却一直未得其要领而深入的孩子。 Arnold为什么这么屌? Arnold是一个unbiased PBR渲染器,这分两部分,不但是PBR的,而且是u
有关批判Arnold的正确姿势的建议
最近微博一篇《为什么我看坏arnold》走火,暴露了某些问题,本人也是半瓶子水,认识的人大都比我NB,但就写个建议抛砖引玉吧。 Arnold早已不是一个新渲染器,现在来看Arnold当年的立身之本早已经被各种渲染器所采用,甚至包括当年它所挤下神坛的pixar也开始学习它的设计。但是,这还是不足以妨碍一些MR等用户停留在表面上评价它。此文目的为尝试调整大家批判的点,引导大家走在正确的批判方向上。
arnold教程中文图片版
这个手册解释在实际中使用Arnold和MtoA的一些确定的点。推荐你在电脑上使用maya和MtoA做一遍。
arnold for maya 2012-2014
maya渲染器arnold2012-2014,附安装说明
ARNOLD 学习笔记
Arnold1 Gamma Gamma是能量单位 大于1 图像变亮 反之变暗 8.16位图都有GAMMAOpenEXR没有嵌入GAMMA,保持线性所有软件GAMMA值为1 Arnold Render Setting GAMMA Correction 全都为2.2 Arnold纠正GAMMA的方法 Arnold Render Setting Color
arnold水晶材料折射测试
可以看出折射次数对亮度和渲染时间影响很大,两张渲染图不同地方除了贴图中间改了下,就是折射次数差了一个级别 arnold对折射效果还是有限的,特别在焦散方面是短板
Arnold5上手测试
Arnold推出了第5版,和迎接Houdini16的心情一样,即为新特性兴奋又为好几屏要学的东西感到…… 更加兴奋呢。 完整新特性官方列表:https://support.solidangle.com/display/A5ARP/5.0.0.0 Arnold5里让原来的standard作了古,并且提倡用standard surface来代替。整体感觉standard surface = pri
Arnold图像变换算法
// 08C.cpp : Defines the entry point for the console application. //244910074@qq.com #include "stdafx.h" #include #include int _tmain(int argc, _TCHAR* argv[]
arnold变换源代码
Arnold变换是Arnold遍历理论研究中提出的一种变换,俗称猫脸变换,设想在平面单位正方形内绘制一个猫脸图像,这个猫脸图像将逐渐由清晰变模糊,即是猫脸变换。 Arnold变换是对图像中的像素点坐标做变换,当遍布了图像的所有像素之后,便产生了置乱后的图像。另外,对一个数字图像迭代的使用离散化的Arnold变换,可以重复这个变换过程一直做下去。当迭代到某一步时,如果出现的图像达到我们的要求时,便得到我们所需要的置乱后的图像。Arnold变换具有周期性,当迭代到某一变换周期时,将重新得到原始数字图像,所以解密图像依赖于Arnold变换的周期。
中文Arnold渲染器教程
自己翻译的一份arnold渲染器教程,包含大部分核心使用方法和技巧,有些地方是自己理解改写的,有问题望指正。希望能帮助maya或XSI的使用者快速应用arnold渲染器。