2008年10月31日星期五

Slyar Home

来自"Slyar Home"的最新文章,如果您不希望再收到此邮件,请退订;如果您需要更换其它邮箱接收邮件,请点击这里

你能看出几个旋转方向?

Fri, 31 Oct 2008 11:49:51 +0800

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

据说是美国耶鲁大学研究出来的,什么顺时针用右脑,逆时针用左脑。

不过我倒觉得这就是个视错觉问题。我一开始看就是顺时针,然后怎么也看不出逆时针的。。。大约过了3分钟我才看出来逆时针旋转,之后就可以自由控制旋转方向了,眨一下眼,顺时针;再眨一下眼,逆时针。。。

不知道大家看出来几个旋转方向?

PS.此幅旋转图一共有34帧,每帧是0.03秒,小于人的视觉停留时间(0.05-0.2S)。一个周期是1.02秒,前12帧(0.36S)是顺时针旋转特 征明显,后22帧(0.66S)是逆时针旋转的特征明显。但是每一帧都可以理解为顺转或逆转。秘密就在这里,当你第一眼接触到的几帧图片是前12帧时,知 觉的识别性首先判定为顺转,又由于知觉的滞留性,顺转的感觉会一直持续影响知觉对后面一些帧的判定,因此整幅图片看起来都是顺转。反之,当你第一眼接触到的几帧图片是后22帧时,知觉的识别性首先判定为逆转,又由于知觉的滞留性,逆转的感觉会一直持续影响知觉对后面一些帧的判定,因此整幅图片看起来都是逆 转。调整自己的注意力,你还可以控制舞女旋转的方向。

返回顶部

碾转相除法求最大公约数不用比较两数大小

Thu, 30 Oct 2008 19:24:42 +0800

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

辗转相除,又名欧几里德算法(Euclidean algorithm),是求两个正整数之最大公因子的算法。它是已知最古老的算法, 其可追溯至前300年。它首次出现于欧几里德的《几何原本》中,而在中国则可以追溯至东汉出现的《九章算术》。

以前学碾转相除的时候也没怎么考虑,看到书上说要先比较两个数的大小再碾转相除我就习惯性地先比较大小了,可是今天发现碾转相除法是不用比较两个数的大小的。。。

设我们有两个数m、n

1、用m除以n,得余数r

2、使m=n ,n=r

3、若r=0,则m就是最大公约数;若r不等于0,返回第1步

我们可以看到,如果m>n,那么没说的;如果m<n,在第一次m除以n后,余数恰好为m,这样一交换,最后还会变成m>n的情况。

C语言实现代码为:

#include <stdio.h>

int main()
{
int m, n, r = 1;
scanf("%d%d", &m, &n);
while (r != 0)
{
r = m % n;
m = n;
n = r;
}
printf("%d", m);
return 0;
}

还有一个利用条件运算符写的求最大公约数程序代码

#include<stdio.h>

int main()
{
int m, n;
scanf("%d%d", &m, &n);
while(m > n ? (m = m % n) : (n = n % m));
printf("%d", m + n);
return 0;
}

返回顶部

您可以直接回复此邮件与作者联系,该服务由Feedsky提供技术支持,祝您使用愉快