プログラミングのお題スレです。
【出題と回答例】
1 名前:デフォルトの名無しさん
お題:お題本文
2 名前:デフォルトの名無しさん
>>1 使用言語
回答本文
結果がある場合はそれも
【ソースコードが長くなったら】 (オンラインでコードを実行できる)
https://ideone.com/
http://codepad.org/
http://compileonline.com/
http://rextester.com/runcode
https://runnable.com/
https://code.hackerearth.com/
http://melpon.org/wandbox
https://paiza.io/
宿題は宿題スレがあるのでそちらへ。
※前スレ
プログラミングのお題スレ Part14
http://mevius.5ch.net/test/read.cgi/tech/1558168409/
探検
プログラミングのお題スレ Part15
■ このスレッドは過去ログ倉庫に格納されています
2019/07/28(日) 19:39:57.54ID:832c/ukY
681デフォルトの名無しさん
2019/10/04(金) 19:36:54.12ID:bnA3YiVJ 空白なのは頭ん中だけにしとけwww
682デフォルトの名無しさん
2019/10/05(土) 00:51:48.39ID:pioYL/z5 空っぽのほうが夢詰め込めるぞ
683デフォルトの名無しさん
2019/10/05(土) 01:36:41.50ID:iITy9V8b 空っぽかと思ったら、実は分厚い頭蓋骨が詰まった中心に
ポツンとノミのような脳みそがある、石頭だったでごじゃる
ポツンとノミのような脳みそがある、石頭だったでごじゃる
684637
2019/10/05(土) 08:57:02.16ID:4K3q4mZL685デフォルトの名無しさん
2019/10/05(土) 15:19:46.96ID:6iFRuM3K >>629 bash 4.3.42(3)
n=10000
eval "a=('' '' {2..$n})"
for i in ${a[@]}; do
if [ ${a[$i]} ]; then
echo $i
for ((j=2*$i; j<=$n; j+=$i)); do
unset a[$j]
done
fi
done
実行結果
$ bash 15_629_prime.sh
2
3
5
7
…
9941
9949
9967
9973
n=10000
eval "a=('' '' {2..$n})"
for i in ${a[@]}; do
if [ ${a[$i]} ]; then
echo $i
for ((j=2*$i; j<=$n; j+=$i)); do
unset a[$j]
done
fi
done
実行結果
$ bash 15_629_prime.sh
2
3
5
7
…
9941
9949
9967
9973
686デフォルトの名無しさん
2019/10/05(土) 15:21:16.04ID:6iFRuM3K687デフォルトの名無しさん
2019/10/05(土) 15:31:29.76ID:6iFRuM3K >>686 いや、for ((j=$i*$i; j<=$n; j+=$i)); do だよ間違えた、25%早くなる
n=10000
eval "a=('' '' {2..$n})"
for i in ${a[@]}; do
if [[ ${a[$i]} ]]; then
echo $i
for ((j=$i*$i; j<=$n; j+=$i)); do
unset a[$j]
done
fi
done
n=10000
eval "a=('' '' {2..$n})"
for i in ${a[@]}; do
if [[ ${a[$i]} ]]; then
echo $i
for ((j=$i*$i; j<=$n; j+=$i)); do
unset a[$j]
done
fi
done
688デフォルトの名無しさん
2019/10/05(土) 16:09:49.40ID:6iFRuM3K689デフォルトの名無しさん
2019/10/05(土) 17:13:25.01ID:6iFRuM3K >>687
eval "a=('' '' {2..$n})"
for i in ${a[@]}; do
if [[ ${a[$i]} ]]; then
この書き方、a[]の最初の0,1番目の要素に空文字を設定しておいて
それを配列のインデックスとして使い、あまりいい書き方じゃないと気がついた
動いているんで、あせって直さないでおくけど ゴメンね〜
eval "a=('' '' {2..$n})"
for i in ${a[@]}; do
if [[ ${a[$i]} ]]; then
この書き方、a[]の最初の0,1番目の要素に空文字を設定しておいて
それを配列のインデックスとして使い、あまりいい書き方じゃないと気がついた
動いているんで、あせって直さないでおくけど ゴメンね〜
690デフォルトの名無しさん
2019/10/05(土) 20:48:42.33ID:oVPf95FK お題:
https://regexcrossword.com/playerpuzzles/59e565c95008d
のようなHEXマスの正規表現クロスワードパズルのソルバーを実装せよ。
n=1でいいので処理時間も報告せよ。
https://regexcrossword.com/playerpuzzles/59e565c95008d
のようなHEXマスの正規表現クロスワードパズルのソルバーを実装せよ。
n=1でいいので処理時間も報告せよ。
691デフォルトの名無しさん
2019/10/05(土) 21:56:27.55ID:Lt/DoxvR >>690
辞書データぷりーず
辞書データぷりーず
692デフォルトの名無しさん
2019/10/05(土) 22:00:12.06ID:4K3q4mZL このソルバーに辞書データっているか?
693デフォルトの名無しさん
2019/10/05(土) 22:27:44.93ID:NXndjuW4694デフォルトの名無しさん
2019/10/05(土) 23:11:05.60ID:6iFRuM3K >>667 Perl5
$in = '<div><p><a></a></p></div><span><p></p></span>';
use XML::Simple;
$xml = new XML::Simple->XMLin('<document>'.$in.'</document>');
use Data::Dumper;
$Data::Dumper::Terse = 1;
print Dumper $xml;
実行結果
~ $ perl 15_667_Simple.pl
{
'div' => {
'p' => {
'a' => {}
}
},
'span' => {
'p' => {}
}
}
$in = '<div><p><a></a></p></div><span><p></p></span>';
use XML::Simple;
$xml = new XML::Simple->XMLin('<document>'.$in.'</document>');
use Data::Dumper;
$Data::Dumper::Terse = 1;
print Dumper $xml;
実行結果
~ $ perl 15_667_Simple.pl
{
'div' => {
'p' => {
'a' => {}
}
},
'span' => {
'p' => {}
}
}
695デフォルトの名無しさん
2019/10/06(日) 00:03:34.99ID:tnh9RMO0 とりあえず>>690を手動で解くのに2時間かかったw
お題は思いついたらやる
お題は思いついたらやる
696デフォルトの名無しさん
2019/10/06(日) 05:37:10.28ID:oevqPO9x お題: L形図形を表示する
[入力]
1
[出力]
a
bc
[入力]
2
[出力]
ba
ca
abcc
bcab
[入力]
3
[出力]
bacb
cbaa
acba
bcca
bcabcccb
cabcabca
abccaabc
bcabbcab
[入力]
1
[出力]
a
bc
[入力]
2
[出力]
ba
ca
abcc
bcab
[入力]
3
[出力]
bacb
cbaa
acba
bcca
bcabcccb
cabcabca
abccaabc
bcabbcab
697デフォルトの名無しさん
2019/10/06(日) 05:55:18.89ID:vrVeYjyl698デフォルトの名無しさん
2019/10/06(日) 05:58:05.67ID:lJB/egMg カオス
699675
2019/10/06(日) 09:02:51.40ID:O+kT1S2P 最後は4だろ
700デフォルトの名無しさん
2019/10/06(日) 09:24:22.51ID:+7MXB6fE >>697
おそらく1のパターンのL字を4つで向きを変えてくっつけて大きなL字にしたものが2のパターン。2を4つ使って同じことをやって3を作ってるということだと思う。愚直に再帰的にやれば簡単そう。
おそらく1のパターンのL字を4つで向きを変えてくっつけて大きなL字にしたものが2のパターン。2を4つ使って同じことをやって3を作ってるということだと思う。愚直に再帰的にやれば簡単そう。
701デフォルトの名無しさん
2019/10/06(日) 10:20:09.68ID:tnh9RMO0 >>696
入力3の出力、一か所間違えとるよな?w
入力3の出力、一か所間違えとるよな?w
702デフォルトの名無しさん
2019/10/06(日) 10:43:36.50ID:tnh9RMO0703デフォルトの名無しさん
2019/10/06(日) 17:34:25.93ID:kRqXlweR お題: プログラム実行後にプログラム自身を削除するプログラムを作れ
実行内容は以下のメッセージを出力する
「このプログラムが起動するのは一度きりである。実行ののち、消去される。」
実行内容は以下のメッセージを出力する
「このプログラムが起動するのは一度きりである。実行ののち、消去される。」
704デフォルトの名無しさん
2019/10/06(日) 17:53:36.15ID:VH97tuta705675
2019/10/06(日) 18:05:59.73ID:m+CayYCA706デフォルトの名無しさん
2019/10/06(日) 20:06:09.43ID:+aq+gJyQ >>704
大抵の環境でコマンド通らないんじゃないかそれ
大抵の環境でコマンド通らないんじゃないかそれ
707デフォルトの名無しさん
2019/10/06(日) 20:12:57.33ID:XBuBF2Rc #!/bin/sh
echo このプログラムが起動するのは一度きりである。実行ののち、消去される。
\rm -f $0
echo このプログラムが起動するのは一度きりである。実行ののち、消去される。
\rm -f $0
708デフォルトの名無しさん
2019/10/06(日) 20:16:32.32ID:lJB/egMg lol $0 じゃなくて / にしてるのかwww
709デフォルトの名無しさん
2019/10/06(日) 20:19:37.81ID:bPt7YQEe >>707みて、できなくはないが、やりたくない気分になった。
http://www.t-net.ne.jp/~cyfis/c/stdlib/system.html
上記を使えば、PGからコマンドラインに干渉できる。が!ねぇ・・・。
場所もargc[0]に書いてあるんだけどねぇ・・・。
WA.
http://www.t-net.ne.jp/~cyfis/c/stdlib/system.html
上記を使えば、PGからコマンドラインに干渉できる。が!ねぇ・・・。
場所もargc[0]に書いてあるんだけどねぇ・・・。
WA.
710デフォルトの名無しさん
2019/10/06(日) 21:19:08.41ID:QZjIPE+j シェルスクリプト総合 その31
https://mevius.5ch.net/test/read.cgi/tech/1565446670/
https://mevius.5ch.net/test/read.cgi/tech/1565446670/
711デフォルトの名無しさん
2019/10/07(月) 13:22:48.77ID:lSqRbxbA >>703
Linux等のUNIX系OS
at now +1 min
などとやって at job が一分後に動くようにして次の1行を入力してから Ctrl+D で終了させる。
echo 'このプログラムが起動するのは一度きりである。実行ののち、消去される。'
その後1分待つと上記文言の出力後 at job は削除される。
ただし通常の出力先である標準出力はないことになっているのでatによって拾われてメールでエラーメッセージと共に送られてくる。
それを見たい場合はmailコマンドで送られてきたメールの内容を見る等する。
Linux等のUNIX系OS
at now +1 min
などとやって at job が一分後に動くようにして次の1行を入力してから Ctrl+D で終了させる。
echo 'このプログラムが起動するのは一度きりである。実行ののち、消去される。'
その後1分待つと上記文言の出力後 at job は削除される。
ただし通常の出力先である標準出力はないことになっているのでatによって拾われてメールでエラーメッセージと共に送られてくる。
それを見たい場合はmailコマンドで送られてきたメールの内容を見る等する。
712蟻人間 ◆T6xkBnTXz7B0
2019/10/07(月) 18:38:53.78ID:tyyduGK2 >>703 C++/Win32
#include <windows.h>
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char **argv)
{
printf("このプログラムが起動するのは一度きりである。実行ののち、消去される。\n");
FILE *fp = fopen("delete-me.bat", "w");
fprintf(fp, "@echo off\n");
fprintf(fp, ":retry\n");
fprintf(fp, "del \"%s\"\n", argv[0]);
fprintf(fp, "if exist \"%s\" goto retry\n", argv[0]);
fprintf(fp, "del delete-me.bat\n");
fclose(fp);
ShellExecuteA(NULL, NULL, "cmd", "/c delete-me.bat", NULL, SW_HIDE);
return 0;
}
#include <windows.h>
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char **argv)
{
printf("このプログラムが起動するのは一度きりである。実行ののち、消去される。\n");
FILE *fp = fopen("delete-me.bat", "w");
fprintf(fp, "@echo off\n");
fprintf(fp, ":retry\n");
fprintf(fp, "del \"%s\"\n", argv[0]);
fprintf(fp, "if exist \"%s\" goto retry\n", argv[0]);
fprintf(fp, "del delete-me.bat\n");
fclose(fp);
ShellExecuteA(NULL, NULL, "cmd", "/c delete-me.bat", NULL, SW_HIDE);
return 0;
}
713デフォルトの名無しさん
2019/10/07(月) 22:21:05.16ID:aU+ghkHH >>703 Perl5
print "このプログラムが起動するのは一度きりである。実行ののち、消去される。\n";
unlink $0;
実行結果
~ $ perl 15_703.pl
このプログラムが起動するのは一度きりである。実行ののち、消去される。
~ $ ls -o 15_703.pl
/usr/bin/ls: cannot access 15_703.pl: No such file or directory
嫌なプログラミンッグだな、一歩書き間違がや大参事。
こういうお題はご遠慮願いたいものだ…
print "このプログラムが起動するのは一度きりである。実行ののち、消去される。\n";
unlink $0;
実行結果
~ $ perl 15_703.pl
このプログラムが起動するのは一度きりである。実行ののち、消去される。
~ $ ls -o 15_703.pl
/usr/bin/ls: cannot access 15_703.pl: No such file or directory
嫌なプログラミンッグだな、一歩書き間違がや大参事。
こういうお題はご遠慮願いたいものだ…
714デフォルトの名無しさん
2019/10/07(月) 22:32:50.62ID:aU+ghkHH715デフォルトの名無しさん
2019/10/07(月) 22:35:14.10ID:aU+ghkHH >>714 実行結果貼りそこなったorz
$ bash 15_703.sh
このプログラムが起動するのは一度きりである。実行ののち、消去される。
$ ls -o 15_703.sh
-rw-r--r-- 1 ******** 98 10月 7 22:29 15_703.sh
… 数秒後
$ ls -o 15_703.sh
ls: 15_703.sh にアクセスできません: No such file or directory
$ bash 15_703.sh
このプログラムが起動するのは一度きりである。実行ののち、消去される。
$ ls -o 15_703.sh
-rw-r--r-- 1 ******** 98 10月 7 22:29 15_703.sh
… 数秒後
$ ls -o 15_703.sh
ls: 15_703.sh にアクセスできません: No such file or directory
716デフォルトの名無しさん
2019/10/07(月) 23:18:10.62ID:Hq5Oz5C1 MSX BASIC
10 print"オハヨウフェルペスクン,コンカイノキミノニンムダガイカリャクナオコノテープハジドウテキニショウメツスル"
20 new
10 print"オハヨウフェルペスクン,コンカイノキミノニンムダガイカリャクナオコノテープハジドウテキニショウメツスル"
20 new
717デフォルトの名無しさん
2019/10/07(月) 23:48:42.06ID:ti3U/Qjr718蟻人間 ◆T6xkBnTXz7B0
2019/10/07(月) 23:54:31.61ID:9cpaLYwd 実行時にexeにロックがかかるから、実行終了を待つsystem関数では消せないんだ、これが。
719蟻人間 ◆T6xkBnTXz7B0
2019/10/08(火) 00:32:11.48ID:LPLIE15X 拡張子.batはコマンドプロンプトのバッチファイルを表す。
720デフォルトの名無しさん
2019/10/08(火) 01:09:42.27ID:LQA6uDl1721デフォルトの名無しさん
2019/10/08(火) 01:10:33.04ID:LQA6uDl1722デフォルトの名無しさん
2019/10/08(火) 01:14:29.28ID:LQA6uDl1 あ、数秒後にタスクを実行したかったが、分単位にしかならないようだ。
723デフォルトの名無しさん
2019/10/08(火) 01:31:36.46ID:YlPtBjRn どM乙。
724デフォルトの名無しさん
2019/10/08(火) 02:43:45.63ID:LQA6uDl1 https://ideone.com/s1OxbV
C++&Windows. 結局バッチ作ってバッチを削除するようにした。
C++&Windows. 結局バッチ作ってバッチを削除するようにした。
725デフォルトの名無しさん
2019/10/08(火) 02:45:57.47ID:LQA6uDl1 C++で書いている意味があまりないなぁ。
頭がこんがらがってくるわ。
頭がこんがらがってくるわ。
726デフォルトの名無しさん
2019/10/08(火) 03:07:50.37ID:LQA6uDl1 タスクスケジューラには一個のタスクしか持たせることができません。
タスクスケジューラの健康のために削除タスクと削除タスクをkillするタスクを入れたという欲が出ました。
さて、どうすればよかったのでしょうか・・・。
タスクスケジューラの健康のために削除タスクと削除タスクをkillするタスクを入れたという欲が出ました。
さて、どうすればよかったのでしょうか・・・。
727デフォルトの名無しさん
2019/10/08(火) 03:25:53.77ID:LQA6uDl1 https://ideone.com/8DBn1u
チョットシンプルになった。
けど、ただスケジュールしてバッチファイル作るだけになっちゃった・・・。Orz
ううううううぼぉぉぉおあぁぁぁあああ。。。
チョットシンプルになった。
けど、ただスケジュールしてバッチファイル作るだけになっちゃった・・・。Orz
ううううううぼぉぉぉおあぁぁぁあああ。。。
728デフォルトの名無しさん
2019/10/08(火) 18:18:17.33ID:9WsdIwSr おしい
729デフォルトの名無しさん
2019/10/08(火) 22:43:05.75ID:8UaWwWzr 「インターネットには戦力外通告とかが無いから頭の悪い人がいつまでも打席に立って三振し続ける」
730デフォルトの名無しさん
2019/10/09(水) 01:57:50.31ID:vwSn6CxZ お題: TCPデータグラムが流れてくるのでFINフラグが立っていたら「切断します」と出力せよ
731デフォルトの名無しさん
2019/10/10(木) 00:51:51.46ID:P0sO6qGI >>729
IT分野の実社会では、単価にそれほど差がないのをいいことに
パーフォマンダウンによる差額で利ざやを稼ごうという
商売が横行して、結果としてIT分野が廃れている
だから。こまけーこたー いいんだよ
IT分野の実社会では、単価にそれほど差がないのをいいことに
パーフォマンダウンによる差額で利ざやを稼ごうという
商売が横行して、結果としてIT分野が廃れている
だから。こまけーこたー いいんだよ
732デフォルトの名無しさん
2019/10/10(木) 19:10:08.63ID:Tobvh7XK733デフォルトの名無しさん
2019/10/10(木) 19:12:56.39ID:AtKsFWU7 >>690 解けた人いない?
734デフォルトの名無しさん
2019/10/10(木) 19:14:39.08ID:0pYFH17C735デフォルトの名無しさん
2019/10/10(木) 20:46:59.80ID:78OW/ryc いやお題はパズルを解けじゃなくてパズルのソルバーの実装だからwww
736蟻人間 ◆T6xkBnTXz7B0
2019/10/10(木) 21:25:17.60ID:VnnXeZwz 古典的な人工知能の探索アルゴリズムを研究すれば、この程度のソルバーは作れる。
737デフォルトの名無しさん
2019/10/10(木) 21:48:13.15ID:PZRS9XbT つまり研究しないと作れないってことか。
738デフォルトの名無しさん
2019/10/10(木) 23:09:22.63ID:gSAdFsTs >>735
だから総当たり以外思い浮かばなかったって言ってるだろ
だから総当たり以外思い浮かばなかったって言ってるだろ
739デフォルトの名無しさん
2019/10/11(金) 00:08:49.38ID:1+VMU1fD740デフォルトの名無しさん
2019/10/11(金) 01:56:11.32ID:H4pwkZny いや総当たりでも出来たなら貼ってくれや。
別に総当たりでも恥ずかしくもなんともないと思うが…
別に総当たりでも恥ずかしくもなんともないと思うが…
741デフォルトの名無しさん
2019/10/11(金) 08:53:45.55ID:MNDgolhS 貼りたくねえ
総当たり出できたものを他人のために見せる必要性もないし
総当たり出できたものを他人のために見せる必要性もないし
742デフォルトの名無しさん
2019/10/11(金) 09:03:11.12ID:Cra8acMD できた!
みせて。
見せたくない!
うーん…
みせて。
見せたくない!
うーん…
743デフォルトの名無しさん
2019/10/11(金) 09:08:21.86ID:pcktkYLP ;フェルマーの最終定理
744デフォルトの名無しさん
2019/10/11(金) 21:55:54.61ID:zKaC3xv0 お題:0〜9999の整数について数字和を求め、数字和の頻度を集計せよ
ocaml
https://ideone.com/AjcGgp
c
https://ideone.com/38nYGS
octave
https://ideone.com/g7FrVu
ruby
https://ideone.com/YyFXWh
ocaml
https://ideone.com/AjcGgp
c
https://ideone.com/38nYGS
octave
https://ideone.com/g7FrVu
ruby
https://ideone.com/YyFXWh
745デフォルトの名無しさん
2019/10/11(金) 22:38:20.98ID:hqLUiXPo746デフォルトの名無しさん
2019/10/11(金) 22:44:43.53ID:poa9EnRO すんごく二項定理っぽい数字の並び方をしてる
747デフォルトの名無しさん
2019/10/11(金) 23:16:02.90ID:GtQsvrI7 >>744 Java
https://ideone.com/U99ZM3
プログラミングのお題スレ Part9 [無断転載禁止](c)2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1480579110/134-136
昔書いたこれ(上の136)を流用
https://ideone.com/U99ZM3
プログラミングのお題スレ Part9 [無断転載禁止](c)2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1480579110/134-136
昔書いたこれ(上の136)を流用
748デフォルトの名無しさん
2019/10/11(金) 23:53:28.54ID:jSXBX1w1 >>744
これって0~9999じゃなくて任意の2つの数字入力させてとかだと愚直に計算するしかない?
これって0~9999じゃなくて任意の2つの数字入力させてとかだと愚直に計算するしかない?
749デフォルトの名無しさん
2019/10/12(土) 00:32:58.46ID:Cxdg6QkN >>748
うまくやれば出来そうだがまだ思いつかん
うまくやれば出来そうだがまだ思いつかん
750デフォルトの名無しさん
2019/10/12(土) 11:04:47.64ID:ewC1g8Dg >>744 Pharo/Squeak Smalltalk
| bag |
bag := Bag new.
(0 to: 9) asDigitsToPower: 4 do: [:digits | bag add: digits sum].
^ bag sortedElements
"=> {0->1 . 1->4 . 2->10 . 3->20 . 4->35 . 5->56 .
6->84 . 7->120 . 8->165 . 9->220 . 10->282 .
11->348 . 12->415 . 13->480 . 14->540 . 15->592 .
16->633 . 17->660 . 18->670 . 19->660 . 20->633 .
21->592 . 22->540 . 23->480 . 24->415 . 25->348 .
26->282 . 27->220 . 28->165 . 29->120 . 30->84 .
31->56 . 32->35 . 33->20 . 34->10 . 35->4 . 36->1} "
| bag |
bag := Bag new.
(0 to: 9) asDigitsToPower: 4 do: [:digits | bag add: digits sum].
^ bag sortedElements
"=> {0->1 . 1->4 . 2->10 . 3->20 . 4->35 . 5->56 .
6->84 . 7->120 . 8->165 . 9->220 . 10->282 .
11->348 . 12->415 . 13->480 . 14->540 . 15->592 .
16->633 . 17->660 . 18->670 . 19->660 . 20->633 .
21->592 . 22->540 . 23->480 . 24->415 . 25->348 .
26->282 . 27->220 . 28->165 . 29->120 . 30->84 .
31->56 . 32->35 . 33->20 . 34->10 . 35->4 . 36->1} "
751デフォルトの名無しさん
2019/10/12(土) 11:07:06.97ID:ewC1g8Dg いかん。すまん。出力が安価になってしまった。
752デフォルトの名無しさん
2019/10/12(土) 11:31:04.69ID:zNYc1jm8 lol
753デフォルトの名無しさん
2019/10/12(土) 11:52:28.41ID:msiQ/n9S >>750
@Mathematica
Range[0, 9999] //
Map[IntegerDigits, #] & //
Map[Total, #] & //
Tally
{{0, 1}, {1, 4}, {2, 10}, {3, 20}, {4, 35}, {5, 56}, {6, 84},
{7, 120}, {8, 165}, {9, 220}, {10, 282}, {11, 348}, {12, 415},
{13, 480}, {14, 540}, {15, 592}, {16, 633}, {17, 660}, {18, 670},
{19, 660}, {20, 633}, {21, 592}, {22, 540}, {23, 480}, {24, 415},
{25, 348}, {26, 282}, {27, 220}, {28, 165}, {29, 120}, {30, 84},
{31, 56}, {32, 35}, {33, 20}, {34, 10}, {35, 4}, {36, 1}}
@Mathematica
Range[0, 9999] //
Map[IntegerDigits, #] & //
Map[Total, #] & //
Tally
{{0, 1}, {1, 4}, {2, 10}, {3, 20}, {4, 35}, {5, 56}, {6, 84},
{7, 120}, {8, 165}, {9, 220}, {10, 282}, {11, 348}, {12, 415},
{13, 480}, {14, 540}, {15, 592}, {16, 633}, {17, 660}, {18, 670},
{19, 660}, {20, 633}, {21, 592}, {22, 540}, {23, 480}, {24, 415},
{25, 348}, {26, 282}, {27, 220}, {28, 165}, {29, 120}, {30, 84},
{31, 56}, {32, 35}, {33, 20}, {34, 10}, {35, 4}, {36, 1}}
754デフォルトの名無しさん
2019/10/12(土) 13:09:50.35ID:Nq/Z/R6A >>744 perl
use List::Util qw(sum);
$h{sum(split"")}++ for(0..9999);
map{print"$_ $h{$_}\n"}sort{$a<=>$b}keys%h;
use List::Util qw(sum);
$h{sum(split"")}++ for(0..9999);
map{print"$_ $h{$_}\n"}sort{$a<=>$b}keys%h;
755デフォルトの名無しさん
2019/10/12(土) 13:25:43.66ID:VvSWBOR5756デフォルトの名無しさん
2019/10/12(土) 17:47:36.17ID:Nq/Z/R6A 頻度の階差を取った
0~9999だと三角数
0~99999だと三角錐数
になる
0~9999だと三角数
0~99999だと三角錐数
になる
757デフォルトの名無しさん
2019/10/12(土) 18:44:18.00ID:I5ZWyiFj >>740
>>741じゃねーけど総当りもどきで解いてみた
https://ideone.com/nZqnpN
https://i.imgur.com/3esPPr0.jpg
さすがにフルに総当りするととても終わりそうにないのでちょっとズルして各マスに入る文字を正規表現に使われている"ABCDEFGHMNORXYZ"に限定した
(ソースの217行目)
Celeron 1005M 1.9GHzのしょぼいノートPCで1,386秒(23分)程度だった
>>741じゃねーけど総当りもどきで解いてみた
https://ideone.com/nZqnpN
https://i.imgur.com/3esPPr0.jpg
さすがにフルに総当りするととても終わりそうにないのでちょっとズルして各マスに入る文字を正規表現に使われている"ABCDEFGHMNORXYZ"に限定した
(ソースの217行目)
Celeron 1005M 1.9GHzのしょぼいノートPCで1,386秒(23分)程度だった
758デフォルトの名無しさん
2019/10/12(土) 19:36:00.00ID:vBnCHMzu759デフォルトの名無しさん
2019/10/12(土) 19:59:28.15ID:hTj/2FIT >>754 Perl5、計算量を減らしたアルゴリズム
sub f {
@s = @_;
for $l (1..9) {
$s[$_ + $l] += $_[$_] for 0..$#_;
} @s }
@b = f f f f 1;
print "$_,$b[$_] " for 0..$#b;
実行結果
~ $ perl 15_774_digit_sum_1.pl
0,1 1,4 2,10 3,20 4,35 5,56 6,84 7,120 8,165 9,220 10,282 11,348 12,415 13,480 14,540 15,592 16,633 17,660 18,670 19,660 20,633 21,592 22,540 23,480 24,415 25,348 26,282 27,220 28,165 29,120 30,84 31,56 32,35 33,20 34,10 35,4 36,1
もっと減らしたアルゴリズムを考えたい気もするけど、
これで一回投稿
sub f {
@s = @_;
for $l (1..9) {
$s[$_ + $l] += $_[$_] for 0..$#_;
} @s }
@b = f f f f 1;
print "$_,$b[$_] " for 0..$#b;
実行結果
~ $ perl 15_774_digit_sum_1.pl
0,1 1,4 2,10 3,20 4,35 5,56 6,84 7,120 8,165 9,220 10,282 11,348 12,415 13,480 14,540 15,592 16,633 17,660 18,670 19,660 20,633 21,592 22,540 23,480 24,415 25,348 26,282 27,220 28,165 29,120 30,84 31,56 32,35 33,20 34,10 35,4 36,1
もっと減らしたアルゴリズムを考えたい気もするけど、
これで一回投稿
760デフォルトの名無しさん
2019/10/12(土) 20:06:37.21ID:hTj/2FIT761744
2019/10/12(土) 20:24:43.33ID:1DgZSjUc 白状すると単にrubyで書きたいだけのお題だったんだけど
(Array#repeated_permutationを使いたいだけ)
みんな色々面白いこと考えるもんだね
(Array#repeated_permutationを使いたいだけ)
みんな色々面白いこと考えるもんだね
762蟻人間 ◆T6xkBnTXz7B0
2019/10/13(日) 14:56:19.23ID:w8oKE2gz お題: ストップウォッチを作れ。
最初にEnterキーを押すとスタート。
次にEnterキーを押すとストップ。
経過した時間を表示する。
最初にEnterキーを押すとスタート。
次にEnterキーを押すとストップ。
経過した時間を表示する。
763675
2019/10/13(日) 15:28:31.50ID:XFDKT5kN >>744 Python
https://ideone.com/v1nrdn
―――-
import pandas as pd
array = []
for i in range(0,10000):
array.append(sum(list(map(int,str(i)))))
srv =pd.Series(array).value_counts().sort_index()
print(srv)
https://ideone.com/v1nrdn
―――-
import pandas as pd
array = []
for i in range(0,10000):
array.append(sum(list(map(int,str(i)))))
srv =pd.Series(array).value_counts().sort_index()
print(srv)
764デフォルトの名無しさん
2019/10/13(日) 17:38:11.00ID:qg/TNtNV765デフォルトの名無しさん
2019/10/13(日) 21:07:01.46ID:w512EwKm766デフォルトの名無しさん
2019/10/14(月) 01:02:32.87ID:Ws6GlsT+767デフォルトの名無しさん
2019/10/14(月) 02:00:45.97ID:Ws6GlsT+ >>762
Kotlin
まずは仕様通りのもの。
fun main() {
val br = System.`in`.bufferedReader()
br.readLine()
val t0 = System.nanoTime()
br.readLine()
val t1 = System.nanoTime()
val t = t1 - t0
println("%d.%09d".format(t / 1000000000L, t % 1000000000))
}
しかしこれでは途中経過が出てこなくてつまらない。ということでこれ。
fun main() {
val br = System.`in`.bufferedReader()
br.readLine()
val t0 = System.nanoTime()
while (true) {
if (br.ready()) {
val c = br.read()
if (c == '\n'.toInt())
break
}
val t1 = System.nanoTime()
val t = t1 - t0
print("%d.%09d\r".format(t / 1000000000L, t % 1000000000))
}
println()
}
Kotlin
まずは仕様通りのもの。
fun main() {
val br = System.`in`.bufferedReader()
br.readLine()
val t0 = System.nanoTime()
br.readLine()
val t1 = System.nanoTime()
val t = t1 - t0
println("%d.%09d".format(t / 1000000000L, t % 1000000000))
}
しかしこれでは途中経過が出てこなくてつまらない。ということでこれ。
fun main() {
val br = System.`in`.bufferedReader()
br.readLine()
val t0 = System.nanoTime()
while (true) {
if (br.ready()) {
val c = br.read()
if (c == '\n'.toInt())
break
}
val t1 = System.nanoTime()
val t = t1 - t0
print("%d.%09d\r".format(t / 1000000000L, t % 1000000000))
}
println()
}
768デフォルトの名無しさん
2019/10/14(月) 07:53:19.70ID:kizbcx2j769デフォルトの名無しさん
2019/10/14(月) 08:39:26.54ID:6P2fe30E >>768
そのニュース関係なくね?
そのニュース関係なくね?
770デフォルトの名無しさん
2019/10/14(月) 08:53:29.04ID:z/6QW2Tk 実は素数でした
とかいう形?
とかいう形?
771デフォルトの名無しさん
2019/10/14(月) 09:34:48.23ID:6P2fe30E >>770
511 = 7 * 73 だから 2^511 - 1 は素数ではない
511 = 7 * 73 だから 2^511 - 1 は素数ではない
772デフォルトの名無しさん
2019/10/14(月) 09:38:05.24ID:6P2fe30E というか2^73-1で割り切れる
>>771-772
それは 2^511-1 は 2^7-1 でも割り切れることを主張しているのですか?
それは 2^511-1 は 2^7-1 でも割り切れることを主張しているのですか?
774デフォルトの名無しさん
2019/10/14(月) 16:21:24.99ID:CCU+9UFO >>773
それ以外にどう読めるんだよアホか
それ以外にどう読めるんだよアホか
775デフォルトの名無しさん
2019/10/14(月) 20:26:24.40ID:ead7I0ur776蟻人間 ◆T6xkBnTXz7B0
2019/10/14(月) 20:53:54.75ID:O0QR+doO プログラミングから一気に整数論へダイブ
778デフォルトの名無しさん
2019/10/14(月) 22:14:18.19ID:hXRtCJE+ 必死に5時間検索しまくったのか・・・
779675
2019/10/15(火) 01:03:22.38ID:LXkkA+L3 もう何処かのチャレンジ問題を議論するスレでも良いのでは?
780デフォルトの名無しさん
2019/10/15(火) 01:28:25.21ID:4KtvCQDg お題: お題スレの過去スレからお題をランダムに選択し出力するプログラムを作成せよ
781デフォルトの名無しさん
2019/10/15(火) 15:09:04.02ID:WmSwVXlW QZの醜態を全部晒すプログラムを作成せよ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「日本はドイツと違い反省せず」…中国外相、独外相に対日批判 台湾問題で理解求める [少考さん★]
- 【おこめ券】鈴木農相 米価維持の意図「一切ない」 [ぐれ★]
- 【警視庁】走行中の電車で女性に露出した下半身押しつけたか 無職の男(46)逮捕「チャンスがあればいつでもやる」 [nita★]
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★6 [七波羅探題★]
- 【苺ましまろ】立民衆院議員、人気漫画の水着少女画像を「醜悪」タイ人少女の性搾取事件と関連付け…党内で反発 [少考さん★]
- 「残業キャンセル界隈」若者が増加?「職務放棄」との批判も…“定時退社の権利”どこまで通用するか [七波羅探題★]
- 高市政権「かけてもつながらない。機能していない」防衛当局間のホットライン機能せず [834922174]
- 【高市悲報】中国軍「公海で空母の発着訓練するって事前通告したのになんで自衛隊機は急接近してきたんだ…?」中国軍困惑★2 [931948549]
- あたしゃやだよ
- 【高市悲報】中国軍「公海で空母の発着訓練するって事前通告したのになんで自衛隊機は急接近してきたんだ…?」中国軍困惑 [931948549]
- 30過ぎた大人おじさんが大学生(昔)のままのファッションをする「おじさんキッズコーデ」、炎上して問題視される。 [153490809]
- 【朗報】ケンモジサンが買うふりかけ、二択に絞られる [394133584]
