PAT_乙级1001
来源:互联网 发布:数据分析导论 编辑:程序博客网 时间:2024/06/02 23:57
1001. 害死人不偿命的(3n+1)猜想 (15)
时间限制
400 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue
卡拉兹(Callatz)猜想:
对任何一个自然数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。卡拉兹在1950年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证(3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教学与科研的进展……
我们今天的题目不是证明卡拉兹猜想,而是对给定的任一不超过1000的正整数n,简单地数一下,需要多少步(砍几下)才能得到n=1?
输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。
输出格式:输出从n计算到1需要的步数。
输入样例:3输出样例:
5
#include <stdio.h>int main(){ int n; int count=0; scanf("%d",&n); if(n<=0||n>1000) return 1; while(n!=1) { if(n%2==0) n=n/2; else if(n%2==1) n=(3*n+1)/2; count++; } printf("%d",count); return 0;}
昨天提交四次没有成功,第一次写了解了判题机制。
对于没有边界检验的代码,也是可以通过的,题中的1000就没有了意义。
看了下排名,内存是用得最少的,还好。
0 0
- PAT_乙级1001
- PAT_乙级1006
- PAT_乙级1011
- PAT_乙级1016
- PAT_乙级1021
- PAT_乙级1026
- PAT_乙级1031
- PAT_乙级1036
- PAT_乙级1041
- PAT_乙级1046
- PAT_乙级1002
- PAT_乙级1004
- PAT_乙级1005
- PAT_乙级1008
- PAT_乙级1009
- PAT_乙级 1004 成绩排名
- PAT_乙级 1020 月饼
- PAT_乙级 1028 人口普查
- 【大数乘法】【模板记录】哈理工1159MAGI System
- USB hub 多usb接口重映射:udev 规则
- 第 10 章 css 样式设置小技巧
- JAVA程序员成长之路
- 配置MongoDB3.04集群分片
- PAT_乙级1001
- 匈牙利算法
- Hive JOIN使用详解
- 限制Map大小的实现方法
- Swift语法_Unicode
- ubuntu使用技巧——如何编译C++和C语言的使用程序
- UILocalNotification
- session和cookie的区别
- ORACLE PILE 与 SPFILE