当前位置: 首页 > article >正文

蓝桥杯省赛:幸运数字

该题考的是十进制与其他进制的转换

进制转换
一个十进制数字n可以表示成m进制下的数字与m的幂乘积的形式
例如:126 = 1*8^2 + 7*8^1 + 6*8^0 
那么通过对十进制数字对m取模,除m的循环操作,即可得到m进制下的各位数字 

知道这个原理之后,我们定义一个进制转换的函数,在函数里面我们,将m进制下各个位的数字求和,判断十进制数字能否整除m进制下的各个位数字之和。

#include <bits/stdc++.h>
using namespace std;
#define int long long 
/*
进制转换
一个十进制数字n可以表示成m进制下的数字与m的幂乘积的形式
例如:126 = 1*8^2 + 7*8^1 + 6*8^0 
那么通过对十进制数字对m取模,除m的循环操作,即可得到m进制下的各位数字 
*/
bool fun(int n,int m){//将n在m进制下的各位数字分离求和 
	int j = n;
	int ans = 0;
	while(n){
		ans+=n%m;
		n/=m;
	}

	if(j%ans==0) return true;
	return false;
}

signed main() {
	
	int ans = 0;
	for(int i = 1;;i++){
		if(ans==2023) {
			cout<<i-1<<endl;
			return 0;
		}
		if(fun(i,2)&&fun(i,8)&&fun(i,10)&&fun(i,16)) ans++;
	}
	

	return 0;

}


http://www.kler.cn/a/585347.html

相关文章:

  • 5.编译链接和宏**
  • Redis的持久化-RDB
  • Netflix 技术栈和alibaba技术栈比较
  • 【推荐项目】049-物流系统技术管理平台
  • 【通缩螺旋的深度解析与科技破局路径】
  • 【训练细节解读】文本智能混合分块(Mixtures of Text Chunking,MoC)引领RAG进入多粒度感知智能分块阶段
  • 【C++项目】从零实现RPC框架「二」:项⽬设计
  • 【React】useState及底层处理机制
  • 一篇博客搞定时间复杂度
  • Pytorch的入门
  • Java 8 + Tomcat 9.0.102 的稳定环境搭建方案,适用于生产环境
  • 使用curl随机间隔访问URL-使用curl每秒访问一次URL-nginx
  • Vue配置和安装教程(2025最新)
  • CGI程序处理每一帧VDEC视频数据并输出到HTML页面
  • 【Unity】TextMesh Pro显示中文部分字体异常
  • Cascadeur-3D关键帧动画软件
  • Redis--zset类型
  • 信号处理抽取多项滤波的数学推导与仿真
  • 警惕!Ollama大模型工具的安全风险及应对策略
  • Webpack 和 Vite 的主要区别