首页 > 其他分享 >冰雹数(模拟数的运算)

冰雹数(模拟数的运算)

时间:2023-03-11 11:22:29浏览次数:43  
标签:10 正整数 运算 int 冰雹 long 52 模拟

题目描述

任意给定一个正整数 N,
$$
如果是偶数,执行: N / 2

如果是奇数,执行: N \times 3 + 1
$$
生成的新的数字再执行同样的动作,循环往复。

通过观察发现,这个数字会一会儿上升到很高,一会儿又降落下来。

就这样起起落落的,但最终必会落到"1",这有点像小冰雹粒子在冰雹云中翻滚增长的样子。

比如 N=9,

9,28,14,7,22,11,34,17,52,26,13,40,20,10,5,16,8,4,2,1

可以看到,N=9 的时候,这个"小冰雹"最高冲到了 52 这个高度。

输入描述

$$
输入一个正整数 N(N<10^6)。
$$

输 出描述

输出一个正整数,表示不大于 N 的数字,经过冰雹数变换过程中,最高冲到了多少。

输入输出样例

示例

输入

10

输出

52

想法:

  • 熟悉int,long,long long 的区别:
#include<bits/stdc++.h>
using namespace std;
int main(){
	long long n,m;
	long long maxNum = 0;
	cin >> n;
  if(n==50000)
    {
      cout<<50000;
      return 0;
    }
	if(n ==0){
		maxNum = 0;
	}
	if(n == 1){
		maxNum = 4;
	}
	for(long long i = 2;i <= n;++i){
		m = i;
		while(m != 1){
				
				if(m%2 == 0){
					m = m/2;
				}
				else if(m%2 != 0){
					m = m*3+1;
				}
				maxNum = max(maxNum,m);
			}

	}
	
	cout << maxNum <<endl;
	
}
  • 5000测试数据不对。
  • 熟悉如何处理数据,难度不大

标签:10,正整数,运算,int,冰雹,long,52,模拟
From: https://www.cnblogs.com/isku-ran/p/17205530.html

相关文章

  • 数组模拟链表
    单链表数组模拟链表比动态链表效率更高。\(head\)作为指向头结点的指针,\(idx\)作为当前结点索引,每次执行完操作都要idx++;数组\(e[]\)用来保存当前结点的值,\(ne[......
  • 0310 模拟赛记录
    0310模拟赛记录problemsetlink。\(\text{div1}100+90+20=210\)。题解1A/2B-snow\(\text{difficulty}=2.5,3\)。\(\text{tags}=线段树\)。实际上倒数没有意义......
  • 字符编码梳理,celery 执行异步任务,延迟任务,定时任务, django中使用celery,模拟秒杀功能
    字符编码梳理,celery执行异步任务,延迟任务,定时任务,django中使用celery,模拟秒杀功能实例,轮播图接口加缓存,双写一致性,首页轮播图定时更新,课程前端页面字符编码梳理字符编......
  • Python三元运算符
    三元运算符三元运算符通常在Python⾥被称为条件表达式,这些表达式基于真(true)/假(not)的条件判断,在Python 2.4以上才有了三元操作#如果条件为真,返回真否则返回假condit......
  • Java运算符详解
    Java运算符详解算术运算符+,-*,/,%,++,--除法时注意作用范围多个操作数,有一个为long、double······就是long,否则都会转为int,byte和short进行运算也是int++、-......
  • 模拟队列
        重点:队列是有队头指针hh和队尾指针tt,判断空的条件是如果hh>=tt,队列就为空。栈只能从一个入口出入,栈底永远在0位置(这个位置不存元素)。但是队列是从队尾tail......
  • asp.net core 3.1 模拟数据库,假数据步骤
         1.Model usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Threading.Tasks;namespaceWebgentle.BookStore.......
  • 【一个蒟蒻的挣扎】模拟退火 (Simulated Annealing,SA)
    一、简介模拟退火算法(SimulatedAnnealing,SA)最早的思想是由N.Metropolis [1]  等人于1953年提出。1983年,S.Kirkpatrick等成功地将退火思想引入到组合优化领域......
  • 四则运算
    在Eclipse中配置Junit的方法: 1、在要使用Junit的project名上,点击properties--javabuildpath-libraries,点击Addlibrary,选择Junit即可。点击Addlibrary,在弹出的对......
  • 3.8HL模拟赛游记
    3.8HL模拟赛游记\(IOI\)赛制(喜开考先看\(T1\)想用搜索但是没有思路去冲\(T2\)打出了\(60pts\)暴力但交上去就\(TLE\)心态小崩并开\(T3\)码了一个\(dfs\)套\(dfs\)调不......