レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。
3代目ねこpと暮らしたい
放課後なぞなぞタイム
A = 1 でいいの?
まあプログラムできない人間が暗算してもZZの値はわかるのだが
暗算っていうか電卓ね
せっかくだしジェネリックラムダの練習しながらかく
10 J
100 CV
1000 ALL
10000 NTP
100000 EQXD
1000000 BDWGN
10000000 UVXWJ
100000000 HJUNYV
nannkamounemui
おわり?
すみません、配信切れてました。
ちょうどいいし、音声回復させるために再起動してきます。
ちょっとまっててねん。
真面目な解法を考えてたら頭がしびれた
逆算については手計算でできちゃうってことは
アルゴリズムは意外と単純?
#include <iostream>
#include <functional>
#include <string>
using namespace std;
int main() {
// your code goes her
function<string(int)> solve = [&](int i) {
return (i < 26) ? string(1, 'A' + i - 1) : solve(i / 26) + solve(i % 26);
};
cout << solve(26) << endl;
return 0;
}
Success #stdin #stdout 0s 15240KB
A@
ワロタ
というか、数字を英語に変換するのも手計算でいけた
わしプログラム書く環境ないけど
26って入れたら答えA@って出たので答えではない
>>433 と同じやつならでけたけど間違ってるの?
今からインスコして基本コードの勉強からしてたら間に合いません
出来たといえば出来た
おでpythonだけど
26 Z
27 AA
702 ZZ
703 AAA
18278 ZZZ
18279 AAAA
ああ、なるほど、26進数かとおもいきや0がないからややこしいのね
手計算でもその数字になる
真面目なやつ書けた
知らないうちに n の上限引き上げれられてた
不真面目なやつは O(n) だからなーっ
手計算の場合、26のx乗を順番に足し算しなきゃならんのが面倒
たぶん繰り返しコードなら簡単になるんだろうな・・・
10 = J もちがう
[ぞwwww
新たなアルファベットが作られてしまった
あってるか知らんけど>>433 になる
たぶんだけど、26で割った時に1ずれてる
O(n)のコード貼っていい?
def GetExcelCode(n)
r = 'A'
(n - 1).times do
r = r.succ
end
r
end
手計算でのやり方は
26^1より大きければ、26をひく
さらに26^2より大きければ、26^2をひく
を繰り返して桁を決めてる
真面目に書いたのはこっち
https://gist.github.com/plonk/495b3d378bf05b72c5d71a78d566c676
rubyずるいのあるが
'A' + 26 == '['
あー、僕のコードもバグってる〜
プログラム環境がないのでExcelで3桁までは計算できるようになった
>>466
多分入門にいい!
https://paiza.hatenablog.com/entry/javascript_intro
ジャバスクリプトか、了解
https://paiza.io/ja/projects/new
コードの書き方忘れたから読んでくる
>>462 のコードで 676 の変換が間違ってた。
>>460 のコードは多分正しい。
先頭の桁って一番上の位のこと?
なんとなく見様見真似で書いてみたけど、どうやって出力するんだこれ
実はわりときれいな構造になっている
ループの書き方が間違ってるっぽくて動かない、うーむ
while・・・ うーむ
あ、うごいた、次は割り算で切り捨てする方法を探さなきゃ
できたできた
数字をABCに変換するのはどうすればいいの?
カレーもう1皿食べていい?
ありがとう、ためしてみる
JSで数字から文字はこんな感じ!
let asciiA = 65
console.log(String.fromCharCode(asciiA + 0)); // A
console.log(String.fromCharCode(asciiA + 1)); // B
console.log(String.fromCharCode(asciiA + 2)); // C
BZ = 26 * 2 + 1 * 26
できたよー
出力がよくわからんから、1行ごとにアルファベットが出る感じだけど、>>433 と同じになった
行を変えずに出力する方法もあるんだろうな・・・
AAA = 26^2 + 26^1 + 26^0
とりあえず、ほぼ初めて組んだJavaScript貼っていいですか
let x = 100000000;
let i = 0;
let asciiA = 65;
while (x > 26**i) {
x = x - (26**i);
i = i + 1;
}
i = i - 1;
while (i>0) {
console.log(String.fromCharCode(asciiA + Math.floor(x / (26**i))));
x = x % (26**i);
i = i - 1;
}
console.log(String.fromCharCode(asciiA + x));
1行で出力する方法考えてみる
>>490
x=27 で [ になるね
あ、本当だ、修正します
このアルゴリズムをお仕事で書いたって本当ですか!?
101ケタ目にデータ入力しちゃらめええええ
朝だよー
おでのクソコード貼って寝てええ?
こっちも修正できたよー
さっきバグ指摘された者です
特殊なところはなにもないよ
とても規則的だよ
あってるかわからん
https://gist.github.com/ryuzensan/9e550838756f10f26a64b1c36448095f
A〜Zのかわりに1〜9の数字で考えてみるといいかもしれない
"1"=1
"2"=2
:
"9"=9
"11"=10
一 = 1
二 = 2
:
九 = 9
十 = 10
一一 = 11
十十=110
十「繰り上がりたくないでござる」
702 とかでバグらないようにするのが難しいね
わかったところで答えをちゃちゃっと作ろうず
また変なことになってきた
数学のお話
ある4桁の整数があるとする、その整数は
ax1000+bx100+cx10+dと表せる、つまり
ax10^3+bx10^2+cx10^1+dx10^0
これは各桁が進数(10)の桁乗の積なので26進数では26^n(桁数)になる
なんでプラスって言いながらクオート打ってるのかわかりません><
さて、数値→文字列
バグ修正してた者ですが、100, 702, 1000, 10000 で正しい出力になりました
AAAAA は 475255 であってます?
桁のくりあがり部分でバグ出なくなりましたー
土=11
士
にしむくさむらい
わし以外にまだやってる人いるんだろうか・・・
これのややこしいところは、ゼロがない、ってこと
計算式は
1x11~1+1x11^0=12
桁の見かけの数字かける進数の桁乗ってことだよ
プログラム初心者の自分がさっきやっとバグ取れたとこなので、他の人はとっくに解決してると思われ
10万行の参考データ作ったよ
https://gist.github.com/plonk/f5d60b49b5d4f8277a37a89e224a6660
>>514-516 >>520 >>523 は自分です、コードの書き方から教えてもらった初心者
各桁に分解して足し算するだけ
進数はいくつか、見かけの数字は10進数に直すといくつかが分かればいいだけ
ゼロを発明したインド人は天才ってことですね
おはよう
ずっと解き続けてるのかすごいな
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板