!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part148
https://mevius.5ch.net/test/read.cgi/tech/1590578921/
■関連スレ
C#, C♯, C#相談室 Part94
https://mevius.5ch.net/test/read.cgi/tech/1553075856/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/
■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries
http://referencesource.microsoft.com/
・Insider.NET > .NET TIPS - @IT
https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
・DOBON.NET .NET Tips
https://dobon.net/vb/dotnet/index.html
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
ふらっと C#,C♯,C#(初心者用) Part149
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワキゲー MMca-Gz4g)
2020/12/16(水) 11:29:35.35ID:TSvQ057dM739デフォルトの名無しさん (ワッチョイ 6fda-huk7)
2021/02/23(火) 19:56:17.34ID:8AF7Ea+I0740デフォルトの名無しさん (ワッチョイ 232d-AkpG)
2021/02/23(火) 20:19:12.56ID:lNyBX+Rq0 >>739
最上位ビットではなくて1になってるビットの最上位だぞ
最上位ビットではなくて1になってるビットの最上位だぞ
741デフォルトの名無しさん (ワッチョイ cff2-Hwf9)
2021/02/23(火) 20:25:36.23ID:BNINfFnp0 >>727
ツー・デュニティって何のことかと思った
ツー・デュニティって何のことかと思った
742デフォルトの名無しさん (ワッチョイ 83ff-AkpG)
2021/02/23(火) 20:26:05.61ID:Ke2QO8XG0 レスありがとうございます!
>>738
> クイズでも出されたの?
おっしゃるとおりです。ネットで調べるのは OK なのですが、
外国語も含めて検索してみても私の力では解決できそうになかったので
こちらで質問させていただきました。
>>739
説明がうまくできなくて申し訳ありません。
x = 0b_0101, y = 0b_0110
の例だと、1 になっているビットで最上位のものが
両方とも下から数えて 3 番目なので true なのですが、
x = 0b_0101, y = 0b_0011
の例だと、x は先ほどと同じですが y のほうは 1 になっているビットで
最上位のものが下から数えて 2 番目なので、false になります。
>>740
補足どうもありがとうございます。
最上位ビット(MSB)というと普通は >>739 さんのおっしゃっているような
意味で捉えられそうなものなので、最初からもう少し丁寧に説明すべきでした。
どうぞよろしくお願いいたします。
>>738
> クイズでも出されたの?
おっしゃるとおりです。ネットで調べるのは OK なのですが、
外国語も含めて検索してみても私の力では解決できそうになかったので
こちらで質問させていただきました。
>>739
説明がうまくできなくて申し訳ありません。
x = 0b_0101, y = 0b_0110
の例だと、1 になっているビットで最上位のものが
両方とも下から数えて 3 番目なので true なのですが、
x = 0b_0101, y = 0b_0011
の例だと、x は先ほどと同じですが y のほうは 1 になっているビットで
最上位のものが下から数えて 2 番目なので、false になります。
>>740
補足どうもありがとうございます。
最上位ビット(MSB)というと普通は >>739 さんのおっしゃっているような
意味で捉えられそうなものなので、最初からもう少し丁寧に説明すべきでした。
どうぞよろしくお願いいたします。
743デフォルトの名無しさん (ワッチョイ ff01-aOo0)
2021/02/23(火) 20:26:52.22ID:iu17pC6m0744デフォルトの名無しさん (ワッチョイ 6fda-huk7)
2021/02/23(火) 20:47:25.97ID:8AF7Ea+I0 それなら
2*x<y
でいいんじゃないの?
trueなら一番左の1の位置は同じ
2*x<y
でいいんじゃないの?
trueなら一番左の1の位置は同じ
745デフォルトの名無しさん (ワッチョイ ff01-aOo0)
2021/02/23(火) 20:57:42.88ID:iu17pC6m0 >>744
x = 1, y = 1 がfalseになるんですけど…
x = 1, y = 1 がfalseになるんですけど…
746デフォルトの名無しさん (ワッチョイ 6fda-huk7)
2021/02/23(火) 21:04:05.18ID:8AF7Ea+I0 それは失礼w
難しいね
y:123456789abcdef
x:12 4 8
難しいね
y:123456789abcdef
x:12 4 8
747デフォルトの名無しさん (ワッチョイ 7333-siIf)
2021/02/23(火) 21:55:49.11ID:26JD/Fyv0 演算の回数っていうのがよくわからないが、
BitOperations.LeadingZeroCount(val)
の比較じゃダメなの?
BitOperations.LeadingZeroCount(val)
の比較じゃダメなの?
748デフォルトの名無しさん (ワッチョイ b35f-Rlil)
2021/02/23(火) 22:04:06.39ID:6EEdG0Ut0749デフォルトの名無しさん (ワッチョイ ff01-aOo0)
2021/02/23(火) 22:07:00.98ID:iu17pC6m0 >>737みたいに4bit同士程度ならテーブル引くとかでもいいかも
750デフォルトの名無しさん (ワッチョイ b35f-Rlil)
2021/02/23(火) 22:14:05.32ID:6EEdG0Ut0 >>749
uint でって指定されてるわけだから、4ビットで書かれてるのはあくまで例でわかりやすくしてくれてるだけでしょ
uint でって指定されてるわけだから、4ビットで書かれてるのはあくまで例でわかりやすくしてくれてるだけでしょ
751デフォルトの名無しさん (ワッチョイ bf7d-w+8Q)
2021/02/23(火) 22:33:00.48ID:W3jldd/z0752デフォルトの名無しさん (ワッチョイ bf7d-w+8Q)
2021/02/23(火) 22:53:10.92ID:W3jldd/z0753デフォルトの名無しさん (ワッチョイ ff63-bUHw)
2021/02/24(水) 00:39:34.09ID:bQ0lAzRD0 (x^y)<(x<y?x:y)
こんなのはいいのかな?
細かくテストしてないからバグってたらごめん
演算1回比較2回だから演算回数は減ったとも言える
どっちが早いかは最適化とかCPUとか次第な気もするけど
こんなのはいいのかな?
細かくテストしてないからバグってたらごめん
演算1回比較2回だから演算回数は減ったとも言える
どっちが早いかは最適化とかCPUとか次第な気もするけど
754デフォルトの名無しさん (ワッチョイ 83ff-AkpG)
2021/02/24(水) 00:52:24.83ID:jmWlpF6B0 皆様レスどうもありがとうございます。
>>743
> > 比較する2つの数値はビット長が一緒なのか
> さすがにそれは仮定してもいいんじゃね?
補足ありがとうございます。
ひとまず、符号なし32ビット長整数ということにさせてください。
>>744
> 2*x<y
> でいいんじゃないの?
実際、(x ^ y) < (x & y) より簡単なものを探そうとすると
もうそのくらい簡単なものくらいしか候補に残らないですよね。
もしくは、何か発想の転換が必要なんでしょうか。。。
>>745
> x = 1, y = 1 がfalseになるんですけど…
このレスを読んで思ったのですが、
(x ^ y) < (x & y) という計算も x = 0, y = 0 のときは
false になるんですよね。
最上位の 1 の位置を比較するのが目的なので
x や y が 0 のときは気にしなくてもいいのかもしれませんが、
やはりちょっと不自然なので (x ^ y) <= (x & y) のように
等号付き不等号にしたほうがベターでしょうか。
(ただ、
Math.Floor(Math.Log(2, x)) == Math.Floor(Math.Log(2, y))
という式は x = 0, y = 0 のとき false になるようです)
>>743
> > 比較する2つの数値はビット長が一緒なのか
> さすがにそれは仮定してもいいんじゃね?
補足ありがとうございます。
ひとまず、符号なし32ビット長整数ということにさせてください。
>>744
> 2*x<y
> でいいんじゃないの?
実際、(x ^ y) < (x & y) より簡単なものを探そうとすると
もうそのくらい簡単なものくらいしか候補に残らないですよね。
もしくは、何か発想の転換が必要なんでしょうか。。。
>>745
> x = 1, y = 1 がfalseになるんですけど…
このレスを読んで思ったのですが、
(x ^ y) < (x & y) という計算も x = 0, y = 0 のときは
false になるんですよね。
最上位の 1 の位置を比較するのが目的なので
x や y が 0 のときは気にしなくてもいいのかもしれませんが、
やはりちょっと不自然なので (x ^ y) <= (x & y) のように
等号付き不等号にしたほうがベターでしょうか。
(ただ、
Math.Floor(Math.Log(2, x)) == Math.Floor(Math.Log(2, y))
という式は x = 0, y = 0 のとき false になるようです)
755デフォルトの名無しさん (ワッチョイ 83ff-AkpG)
2021/02/24(水) 00:54:09.63ID:jmWlpF6B0 >>747
> BitOperations.LeadingZeroCount(val)
> の比較じゃダメなの?
なるほど!こんな関数があるんですね。
BitOperations クラスのドキュメントを読んでみると
「これらのメソッドでは、基になるプラットフォームで使用可能な場合、
ハードウェアの組み込みを使用します。」
と書いてあるので、良い答えになりそうです。
アドバイスどうもありがとうございます。
>>748
> 今の時点でビット演算2つと比較が1つなので、boolを返す以上は比較は外せないから、
> これより少ない(軽い)となると、なかなか難しいね
難しいですよね?!
普通の演算子だけを使うなら考えられるパターンは限られているので、
やはり拡張命令を使うとかテーブルを用意するとか、
なにか根本的な発想の転換が必要なのかもしれません。
>>749
> 4bit同士程度ならテーブル引くとかでもいいかも
>>750
> uint でって指定されてるわけだから、4ビットで書かれてるのはあくまで例でわかりやすくしてくれてるだけでしょ
>>750 さんが言ってくださっているとおりなのですが、
逆にわかりにくくなってしまったかもしれません。失礼しました。
ただ、普通の演算子を組み合わせるだけの方法ではどうにも手詰まりな気がしてきたので、
テーブルというアイディア自体は検討する価値がありそうです。どうもありがとうございます。
> BitOperations.LeadingZeroCount(val)
> の比較じゃダメなの?
なるほど!こんな関数があるんですね。
BitOperations クラスのドキュメントを読んでみると
「これらのメソッドでは、基になるプラットフォームで使用可能な場合、
ハードウェアの組み込みを使用します。」
と書いてあるので、良い答えになりそうです。
アドバイスどうもありがとうございます。
>>748
> 今の時点でビット演算2つと比較が1つなので、boolを返す以上は比較は外せないから、
> これより少ない(軽い)となると、なかなか難しいね
難しいですよね?!
普通の演算子だけを使うなら考えられるパターンは限られているので、
やはり拡張命令を使うとかテーブルを用意するとか、
なにか根本的な発想の転換が必要なのかもしれません。
>>749
> 4bit同士程度ならテーブル引くとかでもいいかも
>>750
> uint でって指定されてるわけだから、4ビットで書かれてるのはあくまで例でわかりやすくしてくれてるだけでしょ
>>750 さんが言ってくださっているとおりなのですが、
逆にわかりにくくなってしまったかもしれません。失礼しました。
ただ、普通の演算子を組み合わせるだけの方法ではどうにも手詰まりな気がしてきたので、
テーブルというアイディア自体は検討する価値がありそうです。どうもありがとうございます。
756デフォルトの名無しさん (ワッチョイ ff63-bUHw)
2021/02/24(水) 00:54:22.31ID:bQ0lAzRD0 boolのために比較が必要という前提なら比較は6種
== != < <= > >=
2項演算子は加減乗除商、シフト、and or xorくらい?
演算→比較の順に評価することになるので1比較1演算のパターンはそんなに多くない
全部試したわけじゃないけど無理じゃない?
== != < <= > >=
2項演算子は加減乗除商、シフト、and or xorくらい?
演算→比較の順に評価することになるので1比較1演算のパターンはそんなに多くない
全部試したわけじゃないけど無理じゃない?
757デフォルトの名無しさん (ワッチョイ 83ff-AkpG)
2021/02/24(水) 00:58:28.94ID:jmWlpF6B0758デフォルトの名無しさん (ワッチョイ 83ff-AkpG)
2021/02/24(水) 01:04:08.81ID:jmWlpF6B0 >>756
> boolのために比較が必要という前提なら比較は6種
> == != < <= > >=
> 2項演算子は加減乗除商、シフト、and or xorくらい?
> 演算→比較の順に評価することになるので1比較1演算のパターンはそんなに多くない
> 全部試したわけじゃないけど無理じゃない?
レスどうもありがとうございます。確かにおっしゃるとおりのような気がしてきているところです。
とりあえずこの前提の場合だけでも (x ^ y) < (x & y) が最善なのかどうか結論を出したいので、
全パターンを網羅して確認するプログラムの作成に挑戦してみたいと思います。(できるかな…(汗)
> boolのために比較が必要という前提なら比較は6種
> == != < <= > >=
> 2項演算子は加減乗除商、シフト、and or xorくらい?
> 演算→比較の順に評価することになるので1比較1演算のパターンはそんなに多くない
> 全部試したわけじゃないけど無理じゃない?
レスどうもありがとうございます。確かにおっしゃるとおりのような気がしてきているところです。
とりあえずこの前提の場合だけでも (x ^ y) < (x & y) が最善なのかどうか結論を出したいので、
全パターンを網羅して確認するプログラムの作成に挑戦してみたいと思います。(できるかな…(汗)
759デフォルトの名無しさん (アウアウウー Sae7-pQAD)
2021/02/24(水) 01:07:30.18ID:OSOzzlvda760デフォルトの名無しさん (アウアウウー Sae7-pQAD)
2021/02/24(水) 01:08:45.27ID:OSOzzlvda あ、これじゃX == yの時2になるからダメかw
761デフォルトの名無しさん (ワッチョイ 83ff-AkpG)
2021/02/24(水) 01:11:25.71ID:jmWlpF6B0 >>756
全部網羅と簡単に書きましたが、
例えば仮に (20210224 * x ^ y) < 12345 が正解だとして、
しらみつぶしに探してこれを見つけるのは至難のワザですよね。
う〜ん、難しい。。。。
全部網羅と簡単に書きましたが、
例えば仮に (20210224 * x ^ y) < 12345 が正解だとして、
しらみつぶしに探してこれを見つけるのは至難のワザですよね。
う〜ん、難しい。。。。
762デフォルトの名無しさん (ワッチョイ ff63-bUHw)
2021/02/24(水) 01:15:30.76ID:bQ0lAzRD0 >>757
もともと提示された式と比較すると同じ結果になるんだけど?
https://sharplab.io/#v2:C4LgTgrgdgNAJiA1AHwAICYAMBYAUBgRjzwDMB7MACgDcBDMAAgEsGBeBzAbmYYB53MAIwD6mAuO5NEiAJR4GChuSp1GAKzYduG/hxFiJDNdLm5F55iQaUAxgAsApjYDWmSkxhqZDAITt7Ts4E7p4yphYRDKgEAJyUACQARFBkwAwOAI4QtAA2IADeTAC+MAz5akWJMpzykebE+AQAbAyCZGQ5DAEubkxQaQAepX1pAJ7erAB81gMMAHoM43wzDABki9V40S1tHV2OLsEjDEPM/Rts05SzC0u8K/ejDAD8JwwgGzW4QA
もともと提示された式と比較すると同じ結果になるんだけど?
https://sharplab.io/#v2:C4LgTgrgdgNAJiA1AHwAICYAMBYAUBgRjzwDMB7MACgDcBDMAAgEsGBeBzAbmYYB53MAIwD6mAuO5NEiAJR4GChuSp1GAKzYduG/hxFiJDNdLm5F55iQaUAxgAsApjYDWmSkxhqZDAITt7Ts4E7p4yphYRDKgEAJyUACQARFBkwAwOAI4QtAA2IADeTAC+MAz5akWJMpzykebE+AQAbAyCZGQ5DAEubkxQaQAepX1pAJ7erAB81gMMAHoM43wzDABki9V40S1tHV2OLsEjDEPM/Rts05SzC0u8K/ejDAD8JwwgGzW4QA
763デフォルトの名無しさん (ワッチョイ 83ff-AkpG)
2021/02/24(水) 01:20:20.17ID:jmWlpF6B0 >>759
> 0を排除できるなら、たぶん
> x/y + y/x == 1
> になるような気がする。
!!!
確かにこれ自体は違うかもしれませんし、計算量も減っているとは思いませんが、
発想の新鮮さは私にとって正直感動を覚えるほどでした。
私は問題文にビットという言葉が出ている時点で数値をビットの並びとしか捉えていなくて、
このレスを読むまで数値を数値として扱うという発想がまったくもって出てきていませんでした。
貴重なアイディアどうもありがとうございます。
> 0を排除できるなら、たぶん
> x/y + y/x == 1
> になるような気がする。
!!!
確かにこれ自体は違うかもしれませんし、計算量も減っているとは思いませんが、
発想の新鮮さは私にとって正直感動を覚えるほどでした。
私は問題文にビットという言葉が出ている時点で数値をビットの並びとしか捉えていなくて、
このレスを読むまで数値を数値として扱うという発想がまったくもって出てきていませんでした。
貴重なアイディアどうもありがとうございます。
764デフォルトの名無しさん (ワッチョイ b35f-Rlil)
2021/02/24(水) 01:22:06.74ID:xxKZPG3j0765デフォルトの名無しさん (ブーイモ MMe7-Dcdc)
2021/02/24(水) 09:43:01.27ID:BstpO7i2M NOT(x ^ y) &x &y
766デフォルトの名無しさん (ブーイモ MMe7-Dcdc)
2021/02/24(水) 09:47:44.01ID:BstpO7i2M ビット反転は ~か
~(x ^ y) &x &y
~(x ^ y) &x &y
767デフォルトの名無しさん (ワッチョイ a324-wc/N)
2021/02/24(水) 10:19:17.50ID:TFahGwNV0 >>764
代入とかってアセンブラ上はmov1命令だけど実際内部ではxorクリアしてから|=してるだろうからビット演算と同列で並べちゃダメだろ
代入とかってアセンブラ上はmov1命令だけど実際内部ではxorクリアしてから|=してるだろうからビット演算と同列で並べちゃダメだろ
768デフォルトの名無しさん (アウアウエー Sadf-Qd3k)
2021/02/24(水) 16:56:51.55ID:seoVzzn4a 仕事でJavaをやるとC#って快適だったんだなと実感する
Javaは開発環境の準備からなにから全てが辛い
Javaは開発環境の準備からなにから全てが辛い
769デフォルトの名無しさん (ワッチョイ 8fdf-D7W+)
2021/02/24(水) 18:14:53.26ID:edAGB3A30 というかjavaはプロジェクト自体が辛いことが多い
客先しかり他のエンジニアしかり
客先しかり他のエンジニアしかり
770デフォルトの名無しさん (ワッチョイ cfda-iyw6)
2021/02/24(水) 19:34:45.11ID:lrBUkyKZ0 単価安いし
771デフォルトの名無しさん (ワッチョイ cfb5-xG0S)
2021/02/24(水) 21:35:26.39ID:KW+DlOc20 この流れに乗って質問するが、
おまいらはこれからC#とどう付き合っていくつもり?
C#をとことん極めて、新しいバージョンが出れば追い、このまま一生C#と骨をうずめるつもり?
それとも、C#は腰かけ程度と考えて適当に付き合い、もっと良い言語が出たら乗り換えるつもり?
質問を言い換えると、C#ってあと何年ぐらい人気言語の一つとして君臨していられると思う?
Javaがオラ狂うによってほぼほぼ有償化された今、
Javaが失速するのは間違いない
あのJavaが、だ
C#だってそんな日が来るんじゃないの?
来るとしたらどんなオチ?
それとも、親方マイクロソフトだから大丈夫?
おまいらはこれからC#とどう付き合っていくつもり?
C#をとことん極めて、新しいバージョンが出れば追い、このまま一生C#と骨をうずめるつもり?
それとも、C#は腰かけ程度と考えて適当に付き合い、もっと良い言語が出たら乗り換えるつもり?
質問を言い換えると、C#ってあと何年ぐらい人気言語の一つとして君臨していられると思う?
Javaがオラ狂うによってほぼほぼ有償化された今、
Javaが失速するのは間違いない
あのJavaが、だ
C#だってそんな日が来るんじゃないの?
来るとしたらどんなオチ?
それとも、親方マイクロソフトだから大丈夫?
772デフォルトの名無しさん (ブーイモ MMff-cyI8)
2021/02/24(水) 21:58:03.72ID:NDokwu7RM 友達以上愛人未満
773デフォルトの名無しさん (ワッチョイ 4301-siIf)
2021/02/24(水) 22:08:07.59ID:F5qWAR4O0 別れたいけど、できちゃったので。
774デフォルトの名無しさん (ワッチョイ cfb5-xG0S)
2021/02/24(水) 22:13:18.72ID:KW+DlOc20 >>772
無駄に幅広いな
無駄に幅広いな
775デフォルトの名無しさん (ワッチョイ cfb5-xG0S)
2021/02/24(水) 22:17:05.12ID:KW+DlOc20 >>773
惰性で一緒になっても幸せになれんぞ
惰性で一緒になっても幸せになれんぞ
776デフォルトの名無しさん (ワッチョイ cf63-Bb+k)
2021/02/24(水) 22:58:18.77ID:UF3ntcxf0 都合のいい友人
777デフォルトの名無しさん (ワッチョイ cff2-Hwf9)
2021/02/24(水) 23:51:18.96ID:K88oDGnD0 テキストエディタとWindowsにデフォで入ってるcsc.exeでできる範囲で付き合っていくわ
GUIもWinFormsで十分
GUIもWinFormsで十分
778デフォルトの名無しさん (ワッチョイ ff63-bUHw)
2021/02/25(木) 02:48:18.40ID:A477YYD30 15年前にいつかは消えると思ってたjsが気づけば最前線にいるんだ
先のことなんてわからんからその時の仕事に合わせて適当に付き合ってくだけよ
先のことなんてわからんからその時の仕事に合わせて適当に付き合ってくだけよ
779デフォルトの名無しさん (ワッチョイ ffad-2NXR)
2021/02/25(木) 07:47:32.19ID:ljkJPR6C0 >>771
プロダクトに最適な言語を使うだけよ
どんな業界でも、年々道具は新しくなるだろ?
プログラミング言語もそれと同じ
中には代々受け継がれた道具しか使わないような職もあるが、それは一般的じゃない
プロダクトに最適な言語を使うだけよ
どんな業界でも、年々道具は新しくなるだろ?
プログラミング言語もそれと同じ
中には代々受け継がれた道具しか使わないような職もあるが、それは一般的じゃない
780デフォルトの名無しさん (ワッチョイ cf2d-pQAD)
2021/02/25(木) 09:38:17.80ID:BkBvtXEC0 この問題をc#で解こうと思い
https://atcoder.jp/contests/abc106/tasks/abc106_c
このように書いてみたのですが入力例 3が通りません
https://pastebin.pl/view/raw/cbf5d3cd
大変お手数ですがご指摘いただけるとありがたいです。
https://atcoder.jp/contests/abc106/tasks/abc106_c
このように書いてみたのですが入力例 3が通りません
https://pastebin.pl/view/raw/cbf5d3cd
大変お手数ですがご指摘いただけるとありがたいです。
781デフォルトの名無しさん (ワッチョイ cf2d-pQAD)
2021/02/25(木) 09:38:17.80ID:BkBvtXEC0 この問題をc#で解こうと思い
https://atcoder.jp/contests/abc106/tasks/abc106_c
このように書いてみたのですが入力例 3が通りません
https://pastebin.pl/view/raw/cbf5d3cd
大変お手数ですがご指摘いただけるとありがたいです。
https://atcoder.jp/contests/abc106/tasks/abc106_c
このように書いてみたのですが入力例 3が通りません
https://pastebin.pl/view/raw/cbf5d3cd
大変お手数ですがご指摘いただけるとありがたいです。
782デフォルトの名無しさん (ワッチョイ 6f62-y4gS)
2021/02/25(木) 11:44:12.11ID:zlGf24tO0 文字数計算のためのCalcDだと思うけど正常に計算できてなさそう
何日後も引数にして、2日後とか3日後で想定した戻り値になってることをテストしてみた方がいいよ
メソッドを分離することとメソッド毎にテストすることの大切さがわかる典型例だな
何日後も引数にして、2日後とか3日後で想定した戻り値になってることをテストしてみた方がいいよ
メソッドを分離することとメソッド毎にテストすることの大切さがわかる典型例だな
783デフォルトの名無しさん (ワッチョイ a324-wc/N)
2021/02/25(木) 11:45:33.33ID:Kp+Bp4Dl0784デフォルトの名無しさん (アウアウエー Sadf-pQAD)
2021/02/25(木) 13:46:32.79ID:5iIS9NC9a785デフォルトの名無しさん (ワッチョイ 6f8c-zh7K)
2021/02/25(木) 13:54:37.81ID:HJ9YlmBf0 ソースコード見えないけど5000兆なんて時間計算量も空間計算量も現実的な値にならんから愚直に文字列計算する方法じゃ無理
最初が1以外なら答えは常に最初の桁の数字になって、そうじゃないときは1じゃなくなるまでの桁数よりKが小さいか同じなら1でKがそれより大きいなら1以外で最初に現れた数字が答え
最初が1以外なら答えは常に最初の桁の数字になって、そうじゃないときは1じゃなくなるまでの桁数よりKが小さいか同じなら1でKがそれより大きいなら1以外で最初に現れた数字が答え
786デフォルトの名無しさん (アウアウエー Sadf-pQAD)
2021/02/25(木) 13:58:47.94ID:5iIS9NC9a パラメータの与え方が間違ってるなw
Console.WriteLine(mi.GetDigit((long)5e15, 9460730472580800));
Console.WriteLine(mi.GetDigit((long)5e15, 9460730472580800));
787デフォルトの名無しさん (ワッチョイ 6f62-y4gS)
2021/02/25(木) 14:32:33.73ID:zlGf24tO0 >>785
競技プログラミングでそんなひねくれた回答に何の意味があるの?
知らんけどとんち問題じゃないんだから実行時間2sメモリ976MBという制限で作れてるのか、出来てなかったら減点とかそういう感じでしょ
競技プログラミングでそんなひねくれた回答に何の意味があるの?
知らんけどとんち問題じゃないんだから実行時間2sメモリ976MBという制限で作れてるのか、出来てなかったら減点とかそういう感じでしょ
788デフォルトの名無しさん (ワッチョイ 8f7c-QclQ)
2021/02/25(木) 14:45:28.54ID:lgRHqN3Y0 解法を自然言語で書き下しただけなのに対してひねくれた回答ってどういうことだ
789デフォルトの名無しさん (ワッチョイ ffad-jt1D)
2021/02/25(木) 14:48:23.79ID:Odue14P30 競技プログラミングって
そういうやつなのか
そういうやつなのか
790デフォルトの名無しさん (ワッチョイ 232d-WTU+)
2021/02/25(木) 14:56:27.68ID:lnJvnVl60 処理時間短縮のために工夫したアルゴリズムを文章で書いただけじゃん
捻くれたと捉える方がどうかしてる
捻くれたと捉える方がどうかしてる
791デフォルトの名無しさん (ワッチョイ ff01-pEhb)
2021/02/25(木) 15:06:03.06ID:cAbWQIRq0 >>787
競技プログラミングってある種のとんち問題だぞ
競技プログラミングってある種のとんち問題だぞ
792デフォルトの名無しさん (ワッチョイ ff63-bUHw)
2021/02/25(木) 15:24:52.06ID:A477YYD30 競技プログラミングって問題文を読み解きいかに計算量を少なくする解法を見つけるかに特化した問題が多い
プログラミング知識より数学的知識やひらめきのほうが重要なこと多い
大抵の問題はメモリも処理速度も大して必要とせずに数秒以内で解けるような解法が存在してる
プログラミング知識より数学的知識やひらめきのほうが重要なこと多い
大抵の問題はメモリも処理速度も大して必要とせずに数秒以内で解けるような解法が存在してる
793デフォルトの名無しさん (ワッチョイ ff5d-3/4o)
2021/02/25(木) 16:05:21.75ID:WNWuE6ey0 若いなあ
794デフォルトの名無しさん (ワッチョイ 6f62-y4gS)
2021/02/25(木) 17:09:26.66ID:zlGf24tO0 プログラミング技術を競うものかと思ってたけど関係ないのも多いんだな
まあ今回の問題がそうだったって感じなのかもしれないけど数値設定がやってくれと言わんばかりにおかしいもんな
まあ今回の問題がそうだったって感じなのかもしれないけど数値設定がやってくれと言わんばかりにおかしいもんな
795デフォルトの名無しさん (ワッチョイ a324-wc/N)
2021/02/25(木) 17:23:13.48ID:Kp+Bp4Dl0 ちゃんとインプットのチェックロジックを作れば初っ端に気付ける事なんだよ
pow(10, 18)はqword範囲内なのに対して1以外の文字長は最小の2だとしても余裕で範囲外だからな
pow(10, 18)はqword範囲内なのに対して1以外の文字長は最小の2だとしても余裕で範囲外だからな
796デフォルトの名無しさん (ワッチョイ cf2d-pQAD)
2021/02/25(木) 17:30:29.82ID:BkBvtXEC0797デフォルトの名無しさん (ワッチョイ 6f62-y4gS)
2021/02/25(木) 17:46:07.28ID:zlGf24tO0798デフォルトの名無しさん (ワッチョイ a324-wc/N)
2021/02/25(木) 18:28:40.93ID:Kp+Bp4Dl0 >>797
だからこそ標準入力から渡された桁数指定であるKが10^18以下であるかのチェック構文をちゃんと書けばその時点で気付けるって話
781のコードはそれが書かれてないから「Kは10^18以下」っていう制約自体を見逃してるんだろうな
だからこそ標準入力から渡された桁数指定であるKが10^18以下であるかのチェック構文をちゃんと書けばその時点で気付けるって話
781のコードはそれが書かれてないから「Kは10^18以下」っていう制約自体を見逃してるんだろうな
799デフォルトの名無しさん (エムゾネ FF1f-pQAD)
2021/02/25(木) 18:53:48.04ID:rcOltu0HF >>789
競プロっていわゆる普通のプログラミングとか数学とかとは別の世界だと思う
競プロっていわゆる普通のプログラミングとか数学とかとは別の世界だと思う
800デフォルトの名無しさん (アウアウウー Sae7-pQAD)
2021/02/25(木) 19:05:19.81ID:mcXAAtHya >>796
どっちもケースもちゃんと1を出力するよ
可読性重視で冗長に書いたけど合ってるんじゃないかな?
知らんけど。
非OOPで短く書き直すとこう
https://ideone.com/f58hKP
どっちもケースもちゃんと1を出力するよ
可読性重視で冗長に書いたけど合ってるんじゃないかな?
知らんけど。
非OOPで短く書き直すとこう
https://ideone.com/f58hKP
801デフォルトの名無しさん (ワッチョイ ffe6-0TpN)
2021/02/25(木) 19:49:45.24ID:BqNXMQx70 新聞紙を100回折りたたむと厚みが宇宙と同じぐらいになるって奴ね
802デフォルトの名無しさん (ワッチョイ b302-lut+)
2021/02/25(木) 20:05:35.05ID:84+MX2N/0 >>785
おまえアタマいいな。
自分は3分考えて分からなかった。
792 の言うようにひらめきの世界だわ。
3分の間にアタマに引っかかっていたところに手が届いてれば正解に行き着いてたかも、とか 785 を読んで思いましたまる
おまえアタマいいな。
自分は3分考えて分からなかった。
792 の言うようにひらめきの世界だわ。
3分の間にアタマに引っかかっていたところに手が届いてれば正解に行き着いてたかも、とか 785 を読んで思いましたまる
803デフォルトの名無しさん (ワッチョイ ff01-pEhb)
2021/02/25(木) 21:52:33.13ID:cAbWQIRq0 Math.Pow(2, 5e15)はInfinityになって計算できてないの気持ち悪いな
Kが10 ^ 19まで広がると日付次第ではバグる
Kが10 ^ 19まで広がると日付次第ではバグる
804デフォルトの名無しさん (アウアウウー Sae7-pQAD)
2021/02/25(木) 22:02:36.79ID:OCB2UzGya あーなるほどそういう問題なのね
まったく気づかなかったw
冷静に数字見りゃそりゃそうだよね
こんなスレでそんなひねくれた問題が出てくると夢にも思ってないし
まったく気づかなかったw
冷静に数字見りゃそりゃそうだよね
こんなスレでそんなひねくれた問題が出てくると夢にも思ってないし
805デフォルトの名無しさん (ワッチョイ 6f02-oL1e)
2021/02/26(金) 15:03:06.02ID:JTr0u2pq0 Benchmark.netにてAllocatedのサイズは見れるんですが、何のオブジェクトかの内訳詳細は見れないんでしょうか?
806デフォルトの名無しさん (ワッチョイ cedf-zMIR)
2021/03/03(水) 21:31:29.25ID:GRpGW1SM0 closedxml初めて触ったけどすごいね
エクセル操作プログラミングで毎回うんざりしてたのがウソみたいに快適
gasのスプレッドシート制御と同じような感覚で書けるしusingも使える
エクセル操作プログラミングで毎回うんざりしてたのがウソみたいに快適
gasのスプレッドシート制御と同じような感覚で書けるしusingも使える
807デフォルトの名無しさん (ワッチョイ 4e02-CIDx)
2021/03/04(木) 12:19:55.97ID:RGW+RZMQ0 以下のような2つの構造体リストを重複除外して結合したいのですがどうすれば良いでしょうか。
Unionをすると重複したまま結合されてしまうので困っています。
public struct Menber
{
/// <summary>
/// 部署
/// </summary>
public int Id;
/// <summary>
/// 名前
/// </summary>
public string Name;
}
List<Menber> list1
list[0].id = 1
list[0].Name = 田中
List<Menber> list2
list[0].id = 1
list[0].Name = 鈴木
list[1].id = 1
list[1].Name = 田中
list[2].id = 2
list[2].Name = 吉田
Unionをすると重複したまま結合されてしまうので困っています。
public struct Menber
{
/// <summary>
/// 部署
/// </summary>
public int Id;
/// <summary>
/// 名前
/// </summary>
public string Name;
}
List<Menber> list1
list[0].id = 1
list[0].Name = 田中
List<Menber> list2
list[0].id = 1
list[0].Name = 鈴木
list[1].id = 1
list[1].Name = 田中
list[2].id = 2
list[2].Name = 吉田
808デフォルトの名無しさん (アウアウウー Sa2f-CIDx)
2021/03/04(木) 12:41:03.43ID:7LtyX+sHa >>807
Unionのドキュメントぐらい読もうよ。
IEquatable<T>を実装しろって書いてあるでしょ
構造体の場合はEqualsは全フィールドとプロパティが等価なら
trueを返すように自動実装されるはずだと思ったけど、UnionはEqualsの方は
使ってくれないんでしょうたぶん。
知らんけど。
Unionのドキュメントぐらい読もうよ。
IEquatable<T>を実装しろって書いてあるでしょ
構造体の場合はEqualsは全フィールドとプロパティが等価なら
trueを返すように自動実装されるはずだと思ったけど、UnionはEqualsの方は
使ってくれないんでしょうたぶん。
知らんけど。
809デフォルトの名無しさん (ブーイモ MM4f-5nx2)
2021/03/04(木) 14:28:31.44ID:JHtiE7pvM デフォルト実装で特に問題無いけどな
https://dotnetfiddle.net/UIfYBX
https://dotnetfiddle.net/UIfYBX
810デフォルトの名無しさん (ワッチョイ 9f33-nEX7)
2021/03/04(木) 18:58:02.93ID:wo0nxJ5c0 >>809
だよな。騙されてるんだよ、相手するだけ無駄。
だよな。騙されてるんだよ、相手するだけ無駄。
811デフォルトの名無しさん (ワッチョイ fb5f-/obZ)
2021/03/06(土) 02:12:29.40ID:t6oqPQ7k0 なんか久しぶりにc#に戻ってきたら
public int GetIntVal
{
get => _intVal;
}
とかプロパティの取得に=>とか使ってて意味がわからなかった
この手の構文って今から憶えるとしたらどこのサイトを見たらいいでしょう
public int GetIntVal
{
get => _intVal;
}
とかプロパティの取得に=>とか使ってて意味がわからなかった
この手の構文って今から憶えるとしたらどこのサイトを見たらいいでしょう
812デフォルトの名無しさん (テテンテンテン MM7f-3iqd)
2021/03/06(土) 02:24:50.57ID:+wsnPdhjM MSのリファレンス
813デフォルトの名無しさん (スフッ Sdbf-6rSs)
2021/03/06(土) 11:37:07.78ID:3bUl0e7xd >>811
c# ラムダ式でググれ
c# ラムダ式でググれ
814デフォルトの名無しさん (テテンテンテン MM7f-3iqd)
2021/03/06(土) 11:52:26.43ID:+wsnPdhjM public int IntVal => _intVal; の形式はよく使うけど、>>811の形式は個人的には嫌いだな
811の形式はgetだけなら冗長なだけなのでsetアクセサを書く必要のある場合のみ意味があるわけだが、
setは副作用そのものなのでexpression bodied syntaxで書くのはあまり良くないと思う
811の形式はgetだけなら冗長なだけなのでsetアクセサを書く必要のある場合のみ意味があるわけだが、
setは副作用そのものなのでexpression bodied syntaxで書くのはあまり良くないと思う
815デフォルトの名無しさん (スプッッ Sdbf-FSd8)
2021/03/06(土) 14:22:19.93ID:JTkugHrDd 構文調べんじゃなくてまずバージョンアップの変更点一通り見てきなよ
まずはそこからだろ
まずはそこからだろ
816デフォルトの名無しさん (ワッチョイ 9f42-/obZ)
2021/03/06(土) 14:55:39.29ID:NkI+ANJT0 https://ufcpp.net/study/csharp/
バージョンごとの新機能はここに纏めてあるから、ダラダラ見てみるといいよ
バージョンごとの新機能はここに纏めてあるから、ダラダラ見てみるといいよ
817デフォルトの名無しさん (ワッチョイ 7b54-4Vw4)
2021/03/06(土) 15:23:05.91ID:F0Z1/6ce0 Class class = new();
が地味に便利。
が地味に便利。
818デフォルトの名無しさん (スププ Sdbf-v0L1)
2021/03/06(土) 16:05:50.67ID:2Vsiq+bMd ラムダ式は初見で何じゃコリャって思ったけど、今じゃガンガン使ってる。
あっさりコーディングできていいね。
あっさりコーディングできていいね。
819デフォルトの名無しさん (ワッチョイ 9f01-u5b1)
2021/03/06(土) 16:12:37.53ID:WRKHF19V0 >>818
慣れると分かりやすいよね
慣れると分かりやすいよね
820デフォルトの名無しさん (ワッチョイ efda-9sU8)
2021/03/06(土) 18:54:57.52ID:NwqNYXOS0 var hoge = new();
で、俺様が何をインスタンス化したいか的確に判断してコンパイルしてくれるAIできないかな
で、俺様が何をインスタンス化したいか的確に判断してコンパイルしてくれるAIできないかな
821デフォルトの名無しさん (ワッチョイ 9f01-u5b1)
2021/03/06(土) 19:04:15.77ID:WRKHF19V0 >>820
それ出来たとしてもお前がインスタンス化しようと思ったものが正しいとは限らんから結局バグるだけやぞw
それ出来たとしてもお前がインスタンス化しようと思ったものが正しいとは限らんから結局バグるだけやぞw
822デフォルトの名無しさん (ワッチョイ 0fbb-r5bj)
2021/03/06(土) 19:19:09.69ID:eoDpywBc0 >>821
その時はすぐに別のものを思うんだよ!
その時はすぐに別のものを思うんだよ!
823デフォルトの名無しさん (ワッチョイ fb5f-/obZ)
2021/03/06(土) 19:56:18.42ID:t6oqPQ7k0 思考をホットリロードするの?
また新しいUSBガジェット買わないとならないじゃん
また新しいUSBガジェット買わないとならないじゃん
824デフォルトの名無しさん (ワッチョイ 9f63-+f/l)
2021/03/06(土) 20:22:48.44ID:wbV88shF0 そんなとこまで読み取ってくれるならもうコードすら書かなくて良いようにして欲しい
825デフォルトの名無しさん (ワッチョイ efda-9sU8)
2021/03/06(土) 21:26:52.61ID:NwqNYXOS0 ObservableCollection<LongLongClassName>
とか
ConcurrentDictionary<Guid, ConcurrentDictionary<Guid, DeviceInfo>>
とか
見ただけで吐き気してくる宣言。
なげぇんだよ
とか
ConcurrentDictionary<Guid, ConcurrentDictionary<Guid, DeviceInfo>>
とか
見ただけで吐き気してくる宣言。
なげぇんだよ
826デフォルトの名無しさん (スププ Sdbf-GioG)
2021/03/06(土) 21:55:10.56ID:c0Nk1tFyd ReadOnlyReactivePropertySlim<List<string>>
827デフォルトの名無しさん (ワッチョイ 9f01-AHxu)
2021/03/06(土) 22:44:49.40ID:iEqPiFd00 type alias使えば?
828デフォルトの名無しさん (ワッチョイ 0fb5-FlFm)
2021/03/06(土) 22:51:05.76ID:zakmvXbT0 INotifyCollectionChangedとか
BuildinglistCollectionViewとか
FrameworkContentElementとか
PolyQuadraticBezierSegmentとかな ←最長ぢゃねーか?
ObservableCollectionはクソいっぱい使ってるんでなんとかしてほしいわ
BuildinglistCollectionViewとか
FrameworkContentElementとか
PolyQuadraticBezierSegmentとかな ←最長ぢゃねーか?
ObservableCollectionはクソいっぱい使ってるんでなんとかしてほしいわ
829デフォルトの名無しさん (ワッチョイ 0fb5-FlFm)
2021/03/06(土) 22:58:22.18ID:zakmvXbT0830デフォルトの名無しさん (ワッチョイ 9f01-u5b1)
2021/03/06(土) 23:04:01.25ID:WRKHF19V0 辞書にストーリー求めるバカw
831デフォルトの名無しさん (ワッチョイ 9f42-/obZ)
2021/03/06(土) 23:04:24.81ID:NkI+ANJT0 BindingOperations.EnableCollectionSynchronization
832デフォルトの名無しさん (ワッチョイ 0fb5-FlFm)
2021/03/06(土) 23:13:02.08ID:zakmvXbT0833デフォルトの名無しさん (ワッチョイ 4fdf-OKNI)
2021/03/06(土) 23:26:27.18ID:RvUIQ/dU0 別にリファレンス読めって人もMSのリファレンスが読みやすいとは言ってないぞ
834デフォルトの名無しさん (スププ Sdbf-v0L1)
2021/03/06(土) 23:50:16.20ID:2Vsiq+bMd 空白やアンダーバーで区切らないPascal形式だから余計に見づらいよね。
835デフォルトの名無しさん (アウアウウー Sa0f-kkZq)
2021/03/06(土) 23:58:57.56ID:d/Tm++Xea >>834
好みの問題と言えばそれまでだけど個人的には
Pascal形式が一番相対的にマシだと思うし、だから
比較的若い言語であるC#の文化では標準になってるんだと思う。
しかし、いつもの交通整理の人仕事しろよ。
いつまでこの状態を放っておくの?
やっぱり自分で自分に文句は言えないってご都合主義な事情かねw
好みの問題と言えばそれまでだけど個人的には
Pascal形式が一番相対的にマシだと思うし、だから
比較的若い言語であるC#の文化では標準になってるんだと思う。
しかし、いつもの交通整理の人仕事しろよ。
いつまでこの状態を放っておくの?
やっぱり自分で自分に文句は言えないってご都合主義な事情かねw
836デフォルトの名無しさん (ワッチョイ 7b6e-xiWk)
2021/03/07(日) 07:51:51.56ID:m48VQs8o0 高い知識を持っている技術者や学者さんが
人に文章として伝える(分からない人に分かるように伝える)技術が高いとは限らない
むしろそれが下手な人が多いので、情報系の大学の講義はほにょつまらんしわかりづらい
別の仕事につきながら片手間に独学で勉強したあとに
学生時代のテキストや講義資料みると
いまじゃ簡単なことが、どんだけわかりづらい教え方してるんだろうと思った
いい先生がいればその頃からプログラムが楽しくて好きになってたんだろうなと
人に文章として伝える(分からない人に分かるように伝える)技術が高いとは限らない
むしろそれが下手な人が多いので、情報系の大学の講義はほにょつまらんしわかりづらい
別の仕事につきながら片手間に独学で勉強したあとに
学生時代のテキストや講義資料みると
いまじゃ簡単なことが、どんだけわかりづらい教え方してるんだろうと思った
いい先生がいればその頃からプログラムが楽しくて好きになってたんだろうなと
837デフォルトの名無しさん (ワッチョイ fb02-zlPp)
2021/03/07(日) 10:53:06.62ID:viNH5wsJ0 製造の人員に限ってみれば、分かりやすい(日本語の)文章を書けない人が、キレイなコードを書けるとも思えないんだけどね。
コードは機械に対する指示書だから、そう見ると「(人に対する)分かりやすい文章」との共通点は多い。
あと、教師の教え方についても、特定の人に分かりやすい教え方が万人に対してそうとも限らない。
自分の場合は振り返ってみれば開発環境が違うけど C のポインタはテキストを読んでもさっぱり分からなかった。
けどいつの間にか分かるようになってた。
分かるようになった後は「いまじゃ簡単なことが」なんで分からなかったのか分からない状態で、今も分からない。
ある意味での概念的な関門があるんだろうな、とか思う。「自転車に乗る」ってのとどこか似てるような気もしなくもない。
コードは機械に対する指示書だから、そう見ると「(人に対する)分かりやすい文章」との共通点は多い。
あと、教師の教え方についても、特定の人に分かりやすい教え方が万人に対してそうとも限らない。
自分の場合は振り返ってみれば開発環境が違うけど C のポインタはテキストを読んでもさっぱり分からなかった。
けどいつの間にか分かるようになってた。
分かるようになった後は「いまじゃ簡単なことが」なんで分からなかったのか分からない状態で、今も分からない。
ある意味での概念的な関門があるんだろうな、とか思う。「自転車に乗る」ってのとどこか似てるような気もしなくもない。
838デフォルトの名無しさん (ワッチョイ cb24-Wv4Y)
2021/03/07(日) 10:58:07.46ID:RNKpyeef0 それを突き詰めると日本語って欠陥言語じゃね?という結論に行き着くんだけどな
ポインタが難しいってのもカタカナ英語だからってだけの理由だから
ポインタが難しいってのもカタカナ英語だからってだけの理由だから
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- パワフル女性世界3位に高市首相 米誌フォーブス選出 [蚤の市★]
- 【S.RIDE】「忘年会の幹事ずるい」 ソニー系配車アプリの広告が物議…… 運営が謝罪「配慮に欠ける不適切な表現」掲出終了に [ぐれ★]
- 【米FRB】0.25%利下げ決定 3会合連続、雇用下支え [蚤の市★]
- テレ朝本社から社外スタッフの男性が転落し死亡 テレビ朝日がコメント [ひかり★]
- アイヌ民族の「戸籍簿」がヤフオクで落札 団体「人権無視」と憤り [蚤の市★]
- 「身を切る改革」どこへ? 維新「身内」への公金支出、地方でも続々 [蚤の市★]
- 高市「野党はもう債権とか為替の話はしないで!よく分からないから答えない!」 [884040186]
- 【悲報】教育ママ「ギャオオオオオン!息子が大麻吸ってるのお!!」⇨中3の息子を警察に突き出し全てを終わらせる [455031798]
- 【画像】東京都民「助けて!満員電車もう無理いいぃぃいいぃぃぃいいいいいぃ😭」!!!! [732289945]
- 【堂上隼人】ソフトバンク幹部「よし更生してる」→現在までに逮捕12回、レイプ被害者15人
- 🏡ダブパン本仕込み~🍞🍞😅🍞🍞🏡
- 市役所の面接落ちたガイジだけど
