[R33A]数字求和
- 难度 入门
- 时限 1s
- 空限 512m
- 数学
数据规模:,且 的三个数字均不相同且不为 。
思路
设三位数 的三个数字依次为 。它们的全排列共 个。
对任意一个数字(例如 )来说,在百位、十位、个位三个位置上,固定 在某个位置后,剩下的两个数字 可以任意排列,共 种。因此 在每个数位上都恰好出现 次。 同理。
于是总和为:
例: 时,。
复杂度
时间 ,空间 。
仓颉实现
import std.env.*
import std.convert.*
main(): Int64 {
let reader = getStdIn()
let n = Int64.parse(reader.readln().getOrThrow())
let a = n / 100
let b = n / 10 % 10
let c = n % 10
println((222 * (a + b + c)).toString())
return 0
}