[题] 求特殊自然数 #十进制转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;
}
相关推荐
Once_day13 分钟前
GCC编译(3)常见编译选项
c语言·c++·编译和链接
winfreedoms23 分钟前
ROS2机械臂——黑马程序员ROS2课程上课笔记(3)
arm开发·笔记
山岚的运维笔记39 分钟前
SQL Server笔记 -- 第67章:数据库邮件(DBMAIL)
数据库·笔记·sql·microsoft·sqlserver
肆忆_1 小时前
Day 02|控制块分离架构:Boost 风格 shared_ptr 骨架落地
c++
菩提小狗1 小时前
第15天:信息打点-主机架构&蜜罐识别&WAF识别&端口扫描&协议识别&服务安全_笔记|小迪安全2023-2024|web安全|渗透测试|
笔记·安全·架构
lightqjx1 小时前
【C++】C++11 常见特性
开发语言·c++·c++11
tankeven2 小时前
HJ92 在字符串中找出连续最长的数字串
c++·算法
艾莉丝努力练剑2 小时前
【Linux:文件】进程间通信
linux·运维·服务器·c语言·网络·c++·人工智能
梦游钓鱼2 小时前
C++指针深度解析:核心概念与工业级实践
开发语言·c++
一个人旅程~3 小时前
windows自带的文本编辑软件notpad太差怎么办?
经验分享·笔记·电脑