H、Happy Number(2024牛客国庆集训派对day7)

题目链接:

H-Happy Number_2024牛客国庆集训派对day7 (nowcoder.com)

题目描述:

 翻译为中文:

数据范围:

输入样例:

680

输出样例: 

326623

分析:

 本来以为是dfs,但是看到数据范围1e9, 联想到是找规律的题。

先去写个代码,去打表找一下规律。打表的代码是:

#include<bits/stdc++.h>
#define int long longusing namespace std;int cnt = 0; // 个数 
set<int>se;void dfs(int len, int sum) {//cout << "len = " << len << " sum = " << sum << endl;if(sum > 1000000000) {return ;} if(len > 6) {return ;} se.insert(sum);dfs(len + 1, sum * 10 + 2);dfs(len + 1, sum * 10 + 3);dfs(len + 1, sum * 10 + 6);
}int a[3] = {6, 2, 3};
signed main() {dfs(1, 0);int t = 0;se.erase(0);for(int i : se) {cout << ++ t << " " << i << endl;}return 0;
}

运行的结果如下:

 自己又去推了一下大概的公式:

 联想到了进制之间的问题,以为是3进制问题,然后拿样例%3 除3 但是得到结果是不对的,就中间错了一位,然后手动推了一下,发现错的那一位是%3 == 0 出的问题,然后又进行了十几分钟的推公式+联想() ,最后发现当是3的倍数时候,n要进行-1的操作,后面想想也是对的。咱们在二进制的时候是 0 1 10 11, 但是我想先出现的是11,那就是当%2==0的时候后退以为。同理映射到3进制上面: 0 1 2 10 11 12 20 ... 但是我想让出现的是0(6) 1(2) 2(3) 11(22) 12(23) 10(26) , 这个时候怎么办呢?当n%3==0的时候,让n除3之后在减去1,那么下次再进行%3的时候就会后退(前进)。

代码:

#include<bits/stdc++.h>
#define int long longusing namespace std;int a[3] = {6, 2, 3};signed main() {int n;cin >> n;string t = ""; while(n > 0) {t = (char)(a[n % 3] + '0') + t;if(n % 3 == 0)n = n / 3 - 1;else n = n / 3;}cout << t << endl;return 0;
}

代码二:

#include<bits/stdc++.h>
#define int long longusing namespace std;int a[3] = {6, 2, 3};signed main() {int n;cin >> n;string t = ""; while(n > 0) {t = (char)(a[n % 3] + '0') + t;n --;n /= 3;}cout << t << endl;return 0;
}

运行结果:

别人的代码:

#include<bits/stdc++.h>
using namespace std;
long long n;
string s;
char a[3]={'2','3','6'};
int main()
{ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);cin>>n;while(n){n--;s+=a[n%3];n/=3;}for(int i=s.size()-1;i>=0;i--) {cout<<s[i];}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/55722.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通信工程学习:什么是三网融合

三网融合 三网融合&#xff0c;又称“三网合一”&#xff0c;是指电信网、广播电视网、互联网在高层业务应用上的深度融合。这一概念在近年来随着信息技术的快速发展而逐渐受到重视&#xff0c;并成为推动信息化社会建设的重要力量。以下是对三网融合的详细解释&#xff1a; 一…

go基础面试题汇总第一弹

init函数是什么时候执行的? init的函数的作用是什么&#xff1f; 通常作为程序执行前包的初始化&#xff0c;例如mysql redis 等中间件的初始化 init函数的执行顺序是怎样的&#xff1f; 分不同情况来回答&#xff1a; 在同一个go文件里面如果有多个init方法&#xff0c;它们…

扩展、包含、泛化-系统架构师(七十七)

1&#xff08;&#xff09;是系统分析阶段结束后得到的工作产品&#xff0c;&#xff08;&#xff09;是系统测试阶段完成后的工作产品。 问题1 A系统设计规格说明 B系统方案建议书 C系统规格说明 D单元测试数据 问题2 A验收测试计划 B测试标准 C系统测试计划 D操作手…

git fetch 和 git pull 的区别

git fetch 和 git pull 的区别 git fetch 功能&#xff1a;git fetch 用于从远程仓库获取最新的代码和提交信息&#xff0c;并将其保存到本地仓库的相应远程跟踪分支中&#xff0c;不会自动合并或修改当前的工作目录或当前分支。 合并&#xff1a;此命令不会自动合并获取的更新…

社团活动助手系统小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;活动分类管理&#xff0c;用户管理&#xff0c;社团活动管理&#xff0c;报名信息管理&#xff0c;签到登记管理&#xff0c;投票项目管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首…

四款语音转文字神器,一键搞定会议记录!

嘿&#xff0c;朋友们&#xff0c;今天咱们来聊聊那些语音转文字的免费软件吧&#xff01;在这个快节奏的时代&#xff0c;谁不想省点时间&#xff0c;少敲几下键盘呢&#xff1f;尤其是那些开会、采访或者闲聊时&#xff0c;语音消息满天飞的日子&#xff0c;一个好用的语音转…

【业务场景】最全的购物车设计与实现

前言 博主最近在做一个购物商城&#xff0c;正好设计到购物车模块&#xff0c;于是乎全面的来聊一聊购物车模块实现的一些核心要点吧&#xff0c;很值得反复品味的设计&#xff0c;当需要实现购物车的时候&#xff0c;本文应该拿来就能用。 目录 1.需要解决的核心问题清单 2…

Mybatis-plus做了什么

Mybatis-plus做了什么 Mybatis回顾以前的方案Mybatis-plus 合集总览&#xff1a;Mybatis框架梳理 聊一下mybatis-plus。你是否有过疑问&#xff0c;Mybatis-plus中BaseMapper方法对应的SQL在哪里&#xff1f;它为啥会被越来越多人接受。在Mybatis已经足够灵活的情况下&…

【分布式微服务云原生】 RPC协议:超越HTTP的远程通信艺术

目录 RPC协议&#xff1a;超越HTTP的远程通信艺术引言RPC协议的实现方式RPC的核心机制流程图&#xff1a;RPC通信流程表格&#xff1a;不同RPC实现方式的比较结论呼吁行动Excel表格&#xff1a;RPC协议实现方式总结 RPC协议&#xff1a;超越HTTP的远程通信艺术 摘要 RPC&#…

pdsh:一个用于并行执行命令的工具

pdsh&#xff08;Parallel Distributed Shell&#xff09;是一个用于并行执行命令的工具&#xff0c;可以在多个远程主机上同时运行相同的命令。它对于需要在多台服务器上执行批量操作的系统管理员和开发人员非常有用。 pdsh 介绍 主要特性 并行执行&#xff1a; pdsh 可以在…

22.第二阶段x86游戏实战2-背包遍历REP指令详解

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 本次游戏没法给 内容参考于&#xff1a;微尘网络安全 本人写的内容纯属胡编乱造&#xff0c;全都是合成造假&#xff0c;仅仅只是为了娱乐&#xff0c;请不要…

【Java 并发编程】多线程安全问题(上)

前言 虽然并发编程让我们的 CPU 核心能够得到充分的使用&#xff0c;程序运行效率更高效。但是也会引发一些问题。比如当进程中有多个并发线程进入一个重要数据的代码块时&#xff0c;在修改数据的过程中&#xff0c;很有可能引发线程安全问题&#xff0c;从而造成数据异常。 p…

mysql学习教程,从入门到精通,SQL 表、列别名(Aliases)(30)

1、SQL 表、列别名&#xff08;Aliases&#xff09; 在SQL中&#xff0c;表别名&#xff08;Table Aliases&#xff09;和列别名&#xff08;Column Aliases&#xff09;是两种非常有用的技术&#xff0c;可以使查询语句更加简洁和易读。它们还可以帮助处理复杂的查询&#xf…

免费 Oracle 各版本 离线帮助使用和介绍

文章目录 Oracle 各版本 离线帮助使用和介绍概要在线帮助下载离线文档包&#xff1a;解压离线文档&#xff1a;访问离线文档&#xff1a;导航使用&#xff1a;目录介绍Install and Upgrade&#xff08;安装和升级&#xff09;&#xff1a;Administration&#xff08;管理&#…

做无货源反向代购业务需要的代购系统功能需求讲解(一):商品数据接入

在电子商务领域&#xff0c;无货源反向代购业务逐渐崭露头角&#xff0c;成为许多创业者和中小企业拓展市场的新途径。这种业务模式的核心在于通过代购平台&#xff0c;将国外或特定地区的商品信息展示给国内消费者&#xff0c;并在消费者下单后&#xff0c;由代购方进行采购、…

第18场小白入门赛(蓝桥杯)

第 18 场 小白入门赛 6 武功秘籍 考察进制理解。 对于第 i i i 位&#xff0c;设 b i t i x bit_ix biti​x &#xff0c;每一位的最大值是 b j b_j bj​ &#xff0c;也就是说每一位是 b j 1 b_j1 bj​1 进制 &#xff0c;那么第 i i i 位的大小就是 x ∑ j i 1…

AI学习指南深度学习篇-生成对抗网络在深度学习中的应用

AI学习指南深度学习篇-生成对抗网络在深度学习中的应用 生成对抗网络&#xff08;GANs&#xff09;自2014年提出以来&#xff0c;已经成为深度学习领域的一种重要技术。它为图像生成、图像编辑、风格迁移和生成对抗防御等领域带来了革命性的变化。本文将深入探讨这些应用&…

代码训练营 day28|LeetCode 39,LeetCode 40,LeetCode 131

前言 这里记录一下陈菜菜的刷题记录&#xff0c;主要应对25秋招、春招 个人背景 211CS本CUHK计算机相关硕&#xff0c;一年车企软件开发经验 代码能力&#xff1a;有待提高 常用语言&#xff1a;C 系列文章目录 第28天 &#xff1a;第七章 回溯算法part02 文章目录 前言系列…

成都睿明智科技有限公司真实可靠吗?

在这个日新月异的电商时代&#xff0c;抖音作为短视频与直播电商的佼佼者&#xff0c;正以前所未有的速度重塑着消费者的购物习惯。而在这片充满机遇与挑战的蓝海中&#xff0c;成都睿明智科技有限公司以其独到的眼光和专业的服务&#xff0c;成为了众多商家信赖的合作伙伴。今…

【万字长文】Word2Vec计算详解(一)

【万字长文】Word2Vec计算详解&#xff08;一&#xff09; 写在前面 本文用于记录本人学习NLP过程中&#xff0c;学习Word2Vec部分时的详细过程&#xff0c;本文与本人写的其他文章一样&#xff0c;旨在给出Word2Vec模型中的详细计算过程&#xff0c;包括每个模块的计算过程&a…