题解报告:hdu 1279 验证角谷猜想

Problem Description

数论中有许多猜想尚未解决,其中有一个被称为“角谷猜想”的问题,该问题在五、六十年代的美国多个著名高校中曾风行一时,这个问题是这样描述的:任何一个大于一的自然数,如果是奇数,则乘以三再加一;如果是偶数,则除以二;得出的结果继续按照前面的规则进行运算,最后必定得到一。现在请你编写一个程序验证他的正确性。

Input

本题有多个测试数据组,第一行为测试数据组数N,接着是N行的正整数。

Output

输出验证“角谷猜想”过程中的奇数,最后得到的1不用输出;每个测试题输出一行;每行中只有两个输出之间才能有一个空格;如果没有这样的输出,则输出:No number can be output !。

Sample Input

4

5

9

16

11

Sample Output

5

9 7 11 17 13 5

No number can be output !

11 17 13 5

解题思路:题目的意思就是将循环节中的奇数依次输出(1不输出),如果没有奇数,则输出No number can be output !,水过!

AC代码:

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int main(){
 4     int n,t;bool flag;
 5     while(cin>>t){
 6         while(t--){
 7             cin>>n;flag=true;
 8             while(n!=1){
 9                 if(n%2){
10                     if(flag){cout<<n;flag=false;}
11                     else cout<<‘ ‘<<n;
12                     n=3*n+1;
13                 }
14                 else n/=2;
15             }
16             if(flag)cout<<"No number can be output !"<<endl;
17             else cout<<endl;
18         }
19     }
20     return 0;
21 }

原文地址:https://www.cnblogs.com/acgoto/p/9275870.html

时间: 2024-10-10 07:07:06

题解报告:hdu 1279 验证角谷猜想的相关文章

hdu 1279 验证角谷猜想(简单的模拟)

Problem Description 数论中有许多猜想尚未解决,其中有一个被称为“角谷猜想”的问题,该问题在五.六十年代的美国多个著名高校中曾风行一时,这个问题是这样描述的:任何一个大于一的自然数,如果是奇数,则乘以三再加一:如果是偶数,则除以二:得出的结果继续按照前面的规则进行运算,最后必定得到一.现在请你编写一个程序验证他的正确性. Input 本题有多个测试数据组,第一行为测试数据组数N,接着是N行的正整数. Output 输出验证“角谷猜想”过程中的奇数,最后得到的1不用输出:每个测试

杭电 HDU 1279 验证角谷猜想

验证角谷猜想 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 6653    Accepted Submission(s): 3417 Problem Description 数论中有许多猜想尚未解决,其中有一个被称为"角谷猜想"的问题,该问题在五.六十年代的美国多个著名高校中曾风行一时,这个问题是这样描述的:任何一个大于一的

HDU ACM 1279 验证角谷猜想

水题 #include<iostream> using namespace std; int main() { int n,T; bool flag; cin>>T; while(T--) { cin>>n; flag=false; while(n>1) { if(n%2==0) n/=2; else { if(!flag) { cout<<n; flag=true; } else cout<<" "<<n;

验证角谷猜想(hd1279)

验证角谷猜想 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 7196    Accepted Submission(s): 3700 Problem Description 数论中有许多猜想尚未解决,其中有一个被称为“角谷猜想”的问题,该问题在五.六十年代的美国多个著名高校中曾风行一时,这个问题是这样描述的:任何一个大于一的自然数,如果

HDU-1279 验证角谷猜想

题目链接:点我点我点我 原本以为第一遍会TLE的,虽然复杂度是O(N) 结果发现是自己想多了. 注意0 1输入,屁股别加空格就好了 Problem Description 数论中有许多猜想尚未解决,其中有一个被称为"角谷猜想"的问题,该问题在五.六十年代的美国多个著名高校中曾风行一时,这个问题是这样描述的:任何一个大于一的自然数,如果是奇数,则乘以三再加一:如果是偶数,则除以二:得出的结果继续按照前面的规则进行运算,最后必定得到一.现在请你编写一个程序验证他的正确性. Input 本题

2969 角谷猜想

2969 角谷猜想 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description 所谓角谷猜想,即给定一个正整数 n,对 n 反复进行下列两种变换: 1)如果n是偶数,就除以2: 2)如果n是奇数,就乘以3加1. 最后的结果总是1. 我们把从 n 变换到 1 所需要进行的变换次数称做 n 的变换长度,如数字 7 的变换为: 7-22-11-34-17-52-26-13-40-20-10-5-16-8-4-2-1 共进行了 1

Hpuoj1039--【C语言训练】角谷猜想

1039: [C语言训练]角谷猜想 时间限制: 1 Sec  内存限制: 128 MB提交: 2  解决: 2[提交][状态][讨论版] 题目描述 角谷猜想: 日本一位中学生发现一个奇妙的“定理”,请角谷教授证明,而教授无能为力,于是产生角谷猜想.猜想的内容是:任给一个自然数,若为偶数除以2,若为奇数则乘3加1,得到一个新的自然数后按照上面的法则继续演算,若干次后得到的结果必然为1.请编程验证. 输入 任一正整数 输出 演算的过程 样例输入 10 样例输出 10/2=5 5*3+1=16 16/

角谷猜想---记忆化搜索

2969 角谷猜想 时间限制: 1 s 空间限制: 32000 KB 题目描述 Description 所谓角谷猜想,即给定一个正整数 n,对 n 反复进行下列两种变换: 1)如果n是偶数,就除以2: 2)如果n是奇数,就乘以3加1. 最后的结果总是1. 我们把从 n 变换到 1 所需要进行的变换次数称做 n 的变换长度,如数字 7 的变换为: 7-22-11-34-17-52-26-13-40-20-10-5-16-8-4-2-1 共进行了 16 次变换,因而 7 的变换长度为 16. Wis

openjudge 角谷猜想

总时间限制:  1000ms 内存限制:  65536kB 描述 所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1.如,假定初始整数为5,计算过程分别为16.8.4.2.1. 程序要求输入一个整数,将经过处理得到1的过程输出来. 输入 一个正整数N(N <= 2,000,000) 输出 从输入整数到1的步骤,每一步为一行,每一部中描述计算过程.最后一行输出"End".如果输入为1,直接输出&qu