[题] 求特殊自然数 #十进制转n进制

题目

NOI / 1.5编程基础之循环控制-25:求特殊自然数

题解

首先,不可能无限穷举

范围限定:七进制与九进制表示都是三位数

最大:888(9) = 728(10)

最小:100(7) = 49(10)

然后就是十进制转x进制的问题

n对xa取模,就是对应xa位上的数字,因为模出来的数不足x^a

然后n/=xa;表示n将对x(a+1)进行取模

重复此操作直至n=0。

代码

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
//把n转换为x进制下的数 
int turn(int n, int x) {
	int ans = 0, a1 = 1;
	while(n) {
		ans += (n % x) * a1;
		n /= x; 
		//要进位咯 
		a1 *= 10;
	}
	return ans;
}
int main(){
	int n7, n9;
	for(int i = 49; i <= 728; i ++) {
		n7 = turn(i, 7);
		n9 = turn(i, 9);
		if(n7 / 100 == n9 % 10 && (n7 /10) % 10 == (n9 /10) % 10 && n9 / 100 == n7 % 10) {
			printf("%d\n%d\n%d", i, n7, n9);
			break;
		}
	}
	return 0;
}
相关推荐
淬炼之火2 分钟前
笔记:场景图生成综述(Scene Understanding)
图像处理·笔记·计算机视觉·知识图谱·场景感知
艾莉丝努力练剑8 分钟前
【QT】环境搭建收尾:认识Qt Creator
运维·开发语言·c++·人工智能·qt·qt creator·qt5
AI视觉网奇8 分钟前
PlayerStreaming 驱动audio2face 学习笔记
笔记·学习·ue5
swan41610 分钟前
SCAU期末笔记 - 计算机网络题库解析
笔记·计算机网络
Larry_Yanan11 分钟前
Qt安卓开发(二)摄像头打开
android·开发语言·数据库·c++·qt·ui
HalvmånEver16 分钟前
Linux:深入剖析 System V IPC下(进程间通信九)
linux·运维·服务器·c++·system v·管道pipe
m0_7482500318 分钟前
C++ 修饰符类型
开发语言·c++
week_泽19 分钟前
第3课:构建AI代理系统面临的挑战 - 学习笔记_3
人工智能·笔记·学习·ai agent
week_泽21 分钟前
第8课:LangGraph Memory管理机制与实现方案 - 学习笔记_8
java·笔记·学习·ai agent
李日灐23 分钟前
C++STL:仿函数、模板(进阶) 详解!!:“伪装术”和模板特化、偏特化的深度玩法指南
开发语言·c++·后端·stl