[题] 求特殊自然数 #十进制转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 分钟前
mstsc 频繁断开是由svchost 策略引起的吗?
windows·笔记·负载均衡
鲨莎分不晴18 分钟前
优化的基石:深度解析“凸集”的数学美感与工程价值
笔记
不会写代码的里奇27 分钟前
深入解析ASR技术:从原理到C++高性能实现
c++
CSDN_RTKLIB43 分钟前
【类定义系列六】C++17新特性
开发语言·c++
雍凉明月夜1 小时前
深度学习网络笔记Ⅲ(注意力机制)
笔记·深度学习·神经网络·分类
hd51cc1 小时前
MFC文件操作
c++·mfc
春蕾夏荷_7282977252 小时前
Sockets-2.3.9.9 UDP使用实例
c++·udp
Ahtacca2 小时前
Linux环境下前后端分离项目(Spring Boot + Vue)手动部署全流程指南
linux·运维·服务器·vue.js·spring boot·笔记
GetcharZp3 小时前
拒绝硬编码!C++ 配置文件管理神器 yaml-cpp 实战指南
c++
polarislove02143 小时前
9.6 [定时器]超声波测距实验-嵌入式铁头山羊STM32笔记
笔记·stm32·嵌入式硬件