[题] 求特殊自然数 #十进制转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;
}
相关推荐
超龄超能程序猿20 小时前
Docker常用中间件部署笔记:MongoDB、Redis、MySQL、Tomcat快速搭建
笔记·docker·中间件
散峰而望20 小时前
【算法竞赛】顺序表和vector
c语言·开发语言·数据结构·c++·人工智能·算法·github
时兮兮时20 小时前
CALIPSO垂直特征掩膜(VFM)—使用python绘制主类型、气溶胶和云的子类型
笔记·python·calipso
时兮兮时20 小时前
MODIS Land Cover (MCD12Q1 and MCD12C1) Product—官方文档的中文翻译
笔记·mcd12q1
cpp_250120 小时前
B3927 [GESP202312 四级] 小杨的字典
数据结构·c++·算法·题解·洛谷
Cx330❀20 小时前
《C++ 递归、搜索与回溯》第2-3题:合并两个有序链表,反转链表
开发语言·数据结构·c++·算法·链表·面试
时兮兮时20 小时前
Linux 服务器后台任务生存指南
linux·服务器·笔记
小六子成长记20 小时前
【C++】:多态的实现
开发语言·c++
chen_22720 小时前
动态桌面方案
c++·qt·ffmpeg·kanzi
liulilittle20 小时前
OPENPPP2 Code Analysis Three
网络·c++·网络协议·信息与通信·通信