プログラミングのお題スレ Part22 (863レス)
前次1-
抽出解除 レス栞

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
310: デフォルトの名無しさん [sage] 2024/03/14(木)14:43:15.33 ID:ZraPd1+Q(1)

377: デフォルトの名無しさん [sage] 2024/06/21(金)05:01:41.33 ID:wIxdZD1d(2/2)
乱数改良

C
https://paiza.io/projects/UWRNkhfbdscMIwR0bTvqHA

Rust
https://paiza.io/projects/g1UmjFWydgmjAEZAgqS5xw
768: デフォルトの名無しさん [sage] 06/21(土)23:05:10.33 ID:awm9eire(1)
>>766
Rust

fn f<T: Clone, const M: usize, const N: usize>(input: &[[T; N]; M]) -> Vec<T> {
 let mut output = Vec::<T>::new();
 for x in 0..(M + N - 1) {
  let start = if x < N { 0 } else { x + 1 - N };
  let end = if x < M { x } else { M - 1 };
  let iter = (start..=end).map(|m| input[m][x - m].clone());
  if x & 1 == 1 {
   output.extend(iter.clone());
  } else {
   output.extend(iter.rev());
  }
 }
 output
}

fn main() {
 assert_eq!(f(&[['A', 'B', 'C'], ['D', 'E', 'F'], ['G', 'H', 'I']]), ['A', 'B', 'D', 'G', 'E', 'C', 'F', 'H', 'I']);
 assert_eq!(f(&[['A', 'B', 'C'], ['D', 'E', 'F']]), ['A', 'B', 'D', 'E', 'C', 'F']);
 assert_eq!(f(&[['A', 'B'], ['C', 'D'], ['E', 'F']]), ['A', 'B', 'C', 'E', 'D', 'F']);
}
802
(3): デフォルトの名無しさん [] 08/16(土)20:29:06.33 ID:kN4EEg8M(2/3)
>>799 の問題B
R
https://ideone.com/SdWBKf
C++
https://ideone.com/90BpGt
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.035s