最近想复习下C语言,顺便扎实下算法基础,就选了PAT来刷题,在这里记录下:
这题没什么技术含量,就是个简单的判断和循环而已,只要设置好条件就按部就班写出来。
毕竟是复习C,所以就记录下C的代码:
#include <stdio.h>
int main(int argc, const char * argv[]) {
int n = 1000;
scanf("%d",&n);
int count=0;
while(n!=1)//临界条件
{
if(n%2==0)//如果它是偶数,那么砍掉一半
{
n/=2;
}else//如果它是奇数,则用公式计算
{
n=(3*n+1)/2;
}
count++;//记录次数
}
printf("%d\n",count);
return 0;
}
由于简单,我便用这个系统分别测试了下C,C++和python2.7的代码,果然python在简单的同时牺牲了太多。