[题] 求特殊自然数 #十进制转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;
}
相关推荐
慕容青峰16 分钟前
【加拿大计算机竞赛 CCO 小行星采矿】题解
c++·算法·sublime text
冻伤小鱼干16 分钟前
《自动驾驶与机器人中的slam技术:从理论到实践》笔记——ch7(4)
笔记·机器人·自动驾驶
Ghost-Silver21 分钟前
2025年度总结
开发语言·数据结构·c++·算法
灯前目力虽非昔,犹课蝇头二万言。32 分钟前
HarmonyOS笔记12:生命周期
笔记·华为·harmonyos
yyy(十一月限定版)34 分钟前
C++基础
java·开发语言·c++
yuhaiqun198939 分钟前
发现前端性能瓶颈的巧妙方法:建立“现象归因→分析定位→优化验证”的闭环思维
前端·经验分享·笔记·python·学习·课程设计·学习方法
sz66cm44 分钟前
Linux基础 -- xargs 结合 `bash -lc` 参数传递映射规则笔记
linux·笔记·bash
d111111111d1 小时前
使用STM32 HAL库配置ADC单次转换模式详解
笔记·stm32·单片机·嵌入式硬件·学习
亚伯拉罕·黄肯1 小时前
强化学习算法笔记
笔记·算法
DYS_房东的猫1 小时前
学习总结笔记三:让网站“活”起来——处理静态文件、表单验证与用户登录(第3章实战版)
笔记·学习·golang