[题] 求特殊自然数 #十进制转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;
}
相关推荐
诙_3 分钟前
深入理解C++设计模式
c++·设计模式
昵称小白23 分钟前
C++ 刷题语法速查
c++·算法
Qt程序员1 小时前
【无标题】
linux·c++·消息队列·共享内存·c/c++·管道·信号量
十五年专注C++开发1 小时前
Qt程序设计涉及到的开发软件
开发语言·c++·qt
Hello_Embed1 小时前
串口硬件结构与三种编程方式
笔记·stm32·学习·ai编程
Ting.~1 小时前
软件设计师备考笔记【day5】-程序设计语言与语言处理程序
笔记
余生皆假期-2 小时前
YuanHub 源码分析【六】MIT 模式
笔记·单片机·嵌入式硬件
van久2 小时前
Day22:JWT 完整学习笔记 + 原理 + 面试题 + 帮助类封装
笔记·学习
邪修king2 小时前
C++ typename & auto 彻底讲透:核心作用、推导规则、避坑指南
开发语言·c++
05候补工程师3 小时前
[408考研笔记] 传输层与网络层核心辨析:从逻辑通信到滑动窗口计算
网络·经验分享·笔记·网络协议·tcp/ip·考研·ip