PAT-B 1001 害死人不偿命的(3n+1)猜想 (15)
来源:互联网 发布:英国工资 知乎 编辑:程序博客网 时间:2024/04/25 21:14
开始做PAT乙级了,加油!
题目链接:1001 害死人不偿命的3n+1猜想
之前自己写的代码没有通过,原来是因为用了while(sacnf()),根本不需要,只需要输入一次就行了。我就想第一题怎么就这么难么……
PAT的排名列表的真好,好多大神公布自己的Blog地址,里面有很多的解题日志。
AC代码:
#include<stdio.h>/*奇偶的判断*/int solve(int n){int cnt = 0;while(n != 1){if(n%2){//奇数 n = (3*n+1)/2;}else{n = n/2;}cnt++;}return cnt;} int main(){int n;scanf("%d",&n);printf("%d\n",solve(n));return 0;}
其中,看了luoluo大神的解题日志,有两点收获:
1. 判断奇偶的方法;n&1
2. 因为不管奇偶都要/2,所以可以这么写:把相同的处理部分写在同一步里面,使得代码更加的简洁。
while(n != 1){ if(n & 1) n = 3*n + 1; n /= 2; ans ++; }
0 0
- PAT-B 1001 害死人不偿命的(3n+1)猜想 (15)
- PAT-B 1001害死人不偿命的(3n+1)猜想
- PAT-B-1001.害死人不偿命的(3n+1)猜想 (15)
- PAT-B-1001. 害死人不偿命的(3n+1)猜想 (15)
- PAT--害死人不偿命的(3n+1)猜想
- PAT 1001 害死人不偿命的(3n+1)猜想 (15)
- PAT乙级1001题:害死人不偿命的(3n+1)猜想 (15)
- PAT 乙级1001 害死人不偿命的(3n+1)猜想(15)
- pat 乙级 1001 害死人不偿命的(3n+1)猜想 (15)
- PAT 乙级 1001 害死人不偿命的(3n+1)猜想 (15)
- PAT-B 1001. 害死人不偿命的(3n+1)猜想 (python)
- pat(B) 1001. 害死人不偿命的(3n+1)猜想
- PAT-B 1001. 害死人不偿命的(3n+1)猜想
- PAT-B 1001. 害死人不偿命的(3n+1)猜想
- PAT-B 1001.害死人不偿命的(3n+1)猜想
- PAT-B 1001. 害死人不偿命的(3n+1)猜想
- PAT-B] 1001. 害死人不偿命的(3n+1)猜想 [模拟]
- 1001 害死人不偿命的(3n+1)猜想
- Double Dispatch(双分派)(c++ 版)
- Codeforces Beta Round #91 (Div. 2 Only) C. Lucky Sum
- Asp.net Cookie 集合 Values 增删改注意事项
- 后缀数组 倍增算法模板
- 斯坦福人工智能突破:结构递归神经网络用于 时空领域图像中的深度学习
- PAT-B 1001 害死人不偿命的(3n+1)猜想 (15)
- html 标签
- java集合中对象某属性比较排序Comparable与Comparator
- Spring Boot 整合Mybatis(步骤讲解) 附源码
- 调节系统声音最大,听筒和扬声器启动
- 相思果——云田一品
- Android 判断是否有网及无网处理
- 数据结构实验之排序五:归并求逆序数 sdut oj 3402
- HDU 1686 裸KMP