1147: 【C语言训练】角谷猜想(其实是3n+1)
2016-04-03 12:16
405 查看
题目描述
角谷猜想:
日本一位中学生发现一个奇妙的“定理”,请角谷教授证明,而教授无能为力,于是产生角谷猜想。猜想的内容是:任给一个自然数,若为偶数除以2,若为奇数则乘3加1,得到一个新的自然数后按照上面的法则继续演算,若干次后得到的结果必然为1。请编程验证。
输入
任一正整数
输出
演算的过程
样例输入
10
样例输出
10/2=5
5*3+1=16
16/2=8
8/2=4
4/2=2
2/2=1
角谷猜想:
日本一位中学生发现一个奇妙的“定理”,请角谷教授证明,而教授无能为力,于是产生角谷猜想。猜想的内容是:任给一个自然数,若为偶数除以2,若为奇数则乘3加1,得到一个新的自然数后按照上面的法则继续演算,若干次后得到的结果必然为1。请编程验证。
输入
任一正整数
输出
演算的过程
样例输入
10
样例输出
10/2=5
5*3+1=16
16/2=8
8/2=4
4/2=2
2/2=1
<span style="font-size:18px;">其实不怎么想发出来的,但是应该还好吧,有些书作为入门例题,下次多发发一些有趣的和通过率低于等于50%的题 //3n+1题 #include<stdio.h> int main() { int n; scanf("%d", &n); while (n != 1) { if (n % 2 == 1) { int sum = n * 3 + 1; printf("%d*3+1=%d\n", n,sum); n = sum; } else { int div = n / 2; printf("%d/2=%d\n", n, div); n = div; } } return 0; } </span>
相关文章推荐
- C/C++ 读入一行字符串
- win7 64下VC++6.0(Unable to register this add-in because its DLLRegisterServer return an error)
- C++笔记
- [leetcode]36. Valid Sudoku c语言
- 1123: 【C语言训练】列出最简真分数序列*
- c语言下的通用数据库接口(之sqlite消化,模拟c#,java的反射)
- 折半查找
- 顺序方法查找
- 图的遍历和二维矩阵动态分配内存
- 图的矩阵与邻接矩阵转换和遍历
- 图的邻接表存储
- 二叉树
- 队列
- C++智能指针
- 链栈
- 顺序栈
- 入栈问题
- 队列
- 数学表达式配对栈
- 链表设置