結果
問題 | No.207 世界のなんとか |
ユーザー |
![]() |
提出日時 | 2025-01-06 22:59:57 |
言語 | Rust (1.83.0 + proconio) |
結果 |
AC
|
実行時間 | 1 ms / 5,000 ms |
コード長 | 2,403 bytes |
コンパイル時間 | 14,179 ms |
コンパイル使用メモリ | 399,992 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2025-01-06 23:00:12 |
合計ジャッジ時間 | 11,587 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 19 |
ソースコード
use proconio::{fastout, input};use reprol::math::radix::ToRadix;#[fastout]fn main() {input! {a: u64,b: u64,}for x in a..=b {if x % 3 == 0 || x.to_radix(10).contains(&3) {println!("{}", x);}}}#[allow(dead_code)]mod reprol {pub mod math {pub mod radix {pub trait ToRadix {fn to_radix(self, base: Self) -> Vec<u32>;}pub trait FromRadix {type Output;fn from_radix(&self, n: u32) -> Self::Output;}macro_rules! impl_integer {($($ty:ident),*) => {$(impl ToRadix for $ty {fn to_radix(self, base: Self) -> Vec<u32> {if self == 0 {return vec![0];}let mut n = self;let mut res = Vec::new();while n > 0 {let x = (n % base) as u32;res.push(x);n /= base;}res.reverse();res}})*};}impl_integer!(u8, u16, u32, u64, u128, usize, i8, i16, i32, i64, i128, isize);impl FromRadix for String {type Output = u64;fn from_radix(&self, n: u32) -> Self::Output {u64::from_str_radix(self, n).unwrap()}}impl FromRadix for &str {type Output = u64;fn from_radix(&self, n: u32) -> Self::Output {u64::from_str_radix(self, n).unwrap()}}impl FromRadix for Vec<u32> {type Output = u64;fn from_radix(&self, n: u32) -> Self::Output {let n = n as u64;let mut res = 0;let mut base = 1;for &e in self.iter().rev() {res += e as u64 * base;base *= n;}res}}}}}