[R70C] 弱化
- 难度 入门
- 时限 1s
- 空限 512m
- 构造
思路
关键观察:任意整数 都是弱回文数。取进制 ,则
即 在 进制下表示为 ,恰好两位且回文。
因此:
- 或 时,任何进制下都只有一位数字( 在二进制下为 不是回文),输出
No; - 时输出
Yes,以及任意一个合法进制 。
复杂度:时间 ,空间 。
仓颉实现
import std.env.*
import std.convert.*
func solve(reader: ConsoleReader, writer: StringBuilder): Unit {
let x = Int64.parse(reader.readln().getOrThrow())
if (x >= 3) {
writer.append("Yes\n")
writer.append(x - 1)
writer.append("\n")
} else {
writer.append("No\n")
}
}
main(): Int64 {
let reader = getStdIn()
let t = Int64.parse(reader.readln().getOrThrow())
let writer = StringBuilder()
for (_ in 0..t) {
solve(reader, writer)
}
print(writer.toString())
return 0
}