[過去ログ] スレ立てるまでもない質問はここで 164匹目 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
896(2): デフォルトの名無しさん [sage] 2023/06/18(日) 02:35:29.36 ID:w5e3CbrF(1/5) AAS
正解はこちら
str.sum(c => c - '0') % 3
899: デフォルトの名無しさん [sage] 2023/06/18(日) 08:17:01.17 ID:/TMQvlLx(3/3) AAS
実在する文字コードを前提としてはいけないならば
>>896のc-'0'こそ失格となる
その式は'0'から'9'の順に並び1ずつ増えることを前提としている
一方で元の問題>>854854(5): デフォルトの名無しさん [sage] 2023/06/17(土) 10:17:06.53 ID:NJVRNPyW(2/5) AAS
出題者側としてはコピペ防止のため問題を変形させている
例えばFizzBuzzならこうしてみる
「FizzBuzzを返す関数を書いてください。
プログラミング言語は自由です。
関数の仕様は引数として正の整数を10進数で表した文字列が来ます。
それ以外の文字列は来ないのでエラー処理は不要です。
ただし文字列の長さは1MBが来ても処理できるようにしてくたさい。
文字列の仕様は各言語の標準的なものから自由に選んでも構いません。
関数が返すのは文字列でFizzやBuzz等でない場合はそのまま返せばよいです。
速く動作することを優先としますがSIMDやGPUや並列化の対応は不要です。」
どうぞ
を見ると
「文字列の仕様は各言語の標準的なものから自由に選んでも構いません。」
つまりASCIIやUTF8を前提としてもよい
したがってそれらの文字コードを使うプログラムでは'0'を0x30とみなして処理することができる
結論
0x30は3の倍数なのでその引き算は必要ない
905: デフォルトの名無しさん [sage] 2023/06/18(日) 11:49:45.52 ID:N6DPfVpd(1) AAS
>>896
そこでなぜsumを計算すれば済むのか理由をコメントあるいは口頭説明できないと減点なのはわかる
それならば- '0'無しで計算すれば済む理由もコメントあるいは口頭説明すればよいよね
無駄な計算を無くすためにsumにしたのに無駄な計算- '0'を加えているのは中途半端かな
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.044s