挑战编程 uva100 3n+1

挑战编程 刘汝佳 的第一道习题  热身题

熟悉下提交格式

题意

 1 #include <iostream>
 2 #include <algorithm>
 3
 4 using namespace std;
 5
 6 int n, m;
 7
 8
 9
10
11
12
13 int main()
14 {
15     while (cin >> n >> m) {
16         int start = min(n, m);
17         int end = max(n, m);
18         int maxcount = 0;
19         for (int i = start; i <= end; i++) {
20             long long tmp = i;
21             int count = 1;
22             while (tmp != 1) {
23                 if (tmp & 1) {
24                     //2
25                     tmp = tmp * 3 + 1;
26                 }
27                 else {
28                     //3
29
30                     tmp = tmp >> 1;
31                 }
32                 count++;
33             }
34
35             if (maxcount < count) maxcount = count;
36         }
37         cout << n << " " << m << " " << maxcount << endl;
38     }
39
40
41     return 0;
42 }

原文地址:https://www.cnblogs.com/itdef/p/11525022.html

时间: 2024-10-10 01:24:07

挑战编程 uva100 3n+1的相关文章

算法竞赛入门经典+挑战编程+USACO

下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年到1年半年时间完成.打牢基础,厚积薄发.   一.UVaOJ http://uva.onlinejudge.org  西班牙Valladolid大学的程序在线评测系统,是历史最悠久.最著名的OJ.   二.<算法竞赛入门经典> 刘汝佳  (UVaOJ  351道题)  以下部分内容摘自:http://sdkdacm.5d6d.com/thread-6-1-1.html   "AO

(Step1-500题)UVaOJ+算法竞赛入门经典+挑战编程+USACO

下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年到1年半年时间完成.打牢基础,厚积薄发. 一.UVaOJ http://uva.onlinejudge.org 西班牙Valladolid大学的程序在线评测系统,是历史最悠久.最著名的OJ. 二.<算法竞赛入门经典> 刘汝佳  (UVaOJ  351道题)  以下部分内容摘自:http://sdkdacm.5d6d.com/thread-6-1-1.html “AOAPC I”是刘汝佳(大

挑战编程题(三)

接 挑战编程题(二)http://www.cnblogs.com/qiange/p/5090588.html 题目: 有两个非负数的链表,每个链表都反序的存储一个多位数字的每一位,(例如:链表2->4->3  数字342),现在求两个链表数字的相加,求和的链表. 例如: Input: (2 -> 4 -> 3) + (5 -> 6 -> 4) Output: 7 -> 0 -> 8 /** * Definition for singly-linked lis

CSDN挑战编程——《数学问题》

数学问题 题目详情: 给你两个长度为n的正整数序列分别为{a1,a2,a3...an},{b1,b2,b3...bn},0<ai,bi<=100: 设S=max{x1*a1+x2*a2+x3*a3+...+xn*an,(1-x1)*b1+(1-x2)*b2+(1-x3)*b3+...+(1-xn)*bn},xi为整数,0<=xi<=1. 请你求出S的最小值. 输入描述: 输入包含多组测试数据,以文件结尾.每组测试数据包含三行行,第一行为一个正整数n(0<n<=100);

CSDN挑战编程——《绝对值最小》

绝对值最小 题目详情: 给你一个数组A[n],请你计算出ans=min(|A[i]+A[j]|)(0<=i,j<n). 例如:A={1, 4, -3}, 则: |A[0] + A[0]| = |1 + 1| = 2. |A[0] + A[1]| = |1 + 4| = 5. |A[0] + A[2]| = |1 + (-3)| = 2. |A[1] + A[1]| = |4 + 4| = 8. |A[1] + A[2]| = |4 + (-3)| = 1. |A[2] + A[2]| = |(

悠然乱弹:挑战编程极限的问题终于有解了

问题的来历 在群里面一个小萝莉非要说拜我为师,呵呵,对于程序媛我一向--嗯嗯觉得程序不如人好看,再加上该名萝莉大学还没毕业,术语都多半没有听过,于是就想着拒绝,当时嘴一贱,就说了一句:你用一个For循环做个99表出来. 当然,这个对于小萝莉们来说,已经足够形成挑战了,但是对于群里的一众大佬们来说,自然是不在话下,3下5除二就搞定了.我又异想天开一下,如果不用判断语句,是不是也完成呢?粗想想是可以的,于是动手摆了几行代码,确实可以.于是就不断加码,不断增加新的完成条件,于是就形成了下面的问题,挑战

挑战编程题(一)

编程最需要的就是理论结合实践,现在我们就来一起从最简单的LeetCode开始,我从今天开始,每天都会解析前一天的题目(今天是第一天),然后发布明天要解析的题目,大家可以和我一起做题目,将你对题目做法(语言不限),发给我也(邮箱[email protected]),也可以直接在下面评论,大家一起研究.在第二天我会发布我写答案和解释,也会挑选我收到的好的解析公布在这里. 1. 求两个数的和 给定一个整型数组,从中挑选两个数字,使其相加为一个为一个给定的值,返回这两个值所有数组中位置下标,位置下标小的

CSDN挑战编程——《金色十月线上编程比赛第一题:小女孩数数》

金色十月线上编程比赛第一题:小女孩数数 题目详情: [金色十月线上编程比赛规则] 一个小女孩正在用左手手指数数,从1数到n.她从拇指算作1开始数起,然后,食指为2,中指为3,无名指为4,小指为5.接下来调转方向,无名指算作6,中指为7,食指为8,大拇指为9,如此反复.问最后会停在那个手指上?用编号1.2.3.4.5依次表示大拇指.食指.中指.无名指.小指. 输入格式: 输入多组数据.每组数据占一行,只包含一个整数n(1<=n<=1000000000). 输出格式: 每组数据占一行,只包含一个介

CSDN挑战编程——《金色十月线上编程比赛第二题:解密》

金色十月线上编程比赛第二题:解密 题目详情: 小强是一名学生, 同时他也是一个黑客. 考试结束后不久,他惊讶的发现自己的高等数学科目居然挂了,于是他果断入侵了学校教务部网站.在入侵的过程中,他发现了与成绩相关的内容是一个加密文件,这个文件由 n 个数构成,经过分析,这个加密文件的密钥为这 n 个数中二进制位数 1 最少的数.但由于数比较多,小强 希望你能帮他得到密钥,好在成绩公布之前将成绩改过来. 输入描述: 输入由多组数据构成,每组数据第一行为一个数 n(1<=n<=10^5),表示数的数量