19/10/05 08:57:02.16 4K3q4mZL.net
>>629 コマンドプロンプト 高速化版
URLリンク(ideone.com)
>>642の6倍くらい速くなった…うちの環境だと>>646よりはやくなったどーw
701:デフォルトの名無しさん
19/10/05 15:19:46.96 6iFRuM3K.net
>>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
702:デフォルトの名無しさん
19/10/05 15:21:16.04 6iFRuM3K.net
>>685 実行結果、貼りそこなって変な改行は入ってた…orz 訂正
実行結果
$ bash 15_629_prime.sh
2
3
5
7
…
9941
9949
9967
9973
703:デフォルトの名無しさん
19/10/05 15:31:29.76 6iFRuM3K.net
>>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
704:デフォルトの名無しさん
19/10/05 16:09:49.40 6iFRuM3K.net
>>629 >>687の実行結果
URLリンク(ideone.com)
705:デフォルトの名無しさん
19/10/05 17:13:25.01 6iFRuM3K.net
>>687
eval "a=('' '' {2..$n})"
for i in ${a[@]}; do
if [[ ${a[$i]} ]]; then
この書き方、a[]の最初の0,1番目の要素に空文字を設定しておいて
それを配列のインデックスとして使い、あまりいい書き方じゃないと気がついた
動いているんで、あせって直さないでおくけど ゴメンね~
706:デフォルトの名無しさん
19/10/05 20:48:42.33 oVPf95FK.net
お題:
URLリンク(regexcrossword.com)
のようなHEXマスの正規表現クロスワードパズルのソルバーを実装せよ。
n=1でいいので処理時間も報告せよ。
707:デフォルトの名無しさん
19/10/05 21:56:27.55 Lt/DoxvR.net
>>690
辞書データぷりーず
708:デフォルトの名無しさん
19/10/05 22:00:12.06 4K3q4mZL.net
このソルバーに辞書データっているか?
709:デフォルトの名無しさん
19/10/05 22:27:44.93 NXndjuW4.net
>>691
出題者ではないが、まず、完成図面を作って、そこ�
710:ゥら問題を作ったほうが早そうだ。 ヘックスの扱い方わからねーんだ俺。 昔聞いたことあるけど、そのうち・・・と思ってたら曖昧になってしまった。
711:デフォルトの名無しさん
19/10/05 23:11:05.60 6iFRuM3K.net
>>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' => {}
}
}
712:デフォルトの名無しさん
19/10/06 00:03:34.99 tnh9RMO0.net
とりあえず>>690を手動で解くのに2時間かかったw
お題は思いついたらやる
713:デフォルトの名無しさん
19/10/06 05:37:10.28 oevqPO9x.net
お題: L形図形を表示する
[入力]
1
[出力]
a
bc
[入力]
2
[出力]
ba
ca
abcc
bcab
[入力]
3
[出力]
bacb
cbaa
acba
bcca
bcabcccb
cabcabca
abccaabc
bcabbcab
714:デフォルトの名無しさん
19/10/06 05:55:18.89 vrVeYjyl.net
>>696
最後のやつが4ではなく3?
それと文字はabc使っているが、どういう規則で並べるのか?
715:デフォルトの名無しさん
19/10/06 05:58:05.67 lJB/egMg.net
カオス
716:675
19/10/06 09:02:51.40 O+kT1S2P.net
最後は4だろ
717:デフォルトの名無しさん
19/10/06 09:24:22.51 +7MXB6fE.net
>>697
おそらく1のパターンのL字を4つで向きを変えてくっつけて大きなL字にしたものが2のパターン。2を4つ使って同じことをやって3を作ってるということだと思う。愚直に再帰的にやれば簡単そう。
718:デフォルトの名無しさん
19/10/06 10:20:09.68 tnh9RMO0.net
>>696
入力3の出力、一か所間違えとるよな?w
719:デフォルトの名無しさん
19/10/06 10:43:36.50 tnh9RMO0.net
>>696 Java
URLリンク(ideone.com)
720:デフォルトの名無しさん
19/10/06 17:34:25.93 kRqXlweR.net
お題: プログラム実行後にプログラム自身を削除するプログラムを作れ
実行内容は以下のメッセージを出力する
「このプログラムが起動するのは一度きりである。実行ののち、消去される。」
721:デフォルトの名無しさん
19/10/06 17:53:36.15 VH97tuta.net
>>703
echo このプログラムが起動するのは一度きりである。実行ののち、消去される。
rm -rf /
722:675
19/10/06 18:05:59.73 m+CayYCA.net
>>703 そんな問題は却下。
どんな問題でもファイルを削除する様な問題は出してはいけない。
ど素人もいるんだからそんな問題は出すべきではない。
723:デフォルトの名無しさん
19/10/06 20:06:09.43 +aq+gJyQ.net
>>704
大抵の環境でコマンド通らないんじゃないかそれ
724:デフォルトの名無しさん
19/10/06 20:12:57.33 XBuBF2Rc.net
#!/bin/sh
echo このプログラムが起動するのは一度きりである。実行ののち、消去される。
\rm -f $0
725:デフォルトの名無しさん
19/10/06 20:16:32.32 lJB/egMg.net
lol $0 じゃなくて / にしてるのかwww
726:デフォルトの名無しさん
19/10/06 20:19:37.81 bPt7YQEe.net
>>707みて、できなくはないが、やりたくない気分になった。
URLリンク(www.t-net.ne.jp)
上記を使えば、PGからコマンドラインに干渉できる。が!ねぇ・・・。
場所もargc[0]に書いてあるんだけどねぇ・・・。
WA.
727:デフォルトの名無しさん
19/10/06 21:19:08.41 QZjIPE+j.net
シェルスクリプト総合 その31
スレリンク(tech板)
728:デフォルトの名無しさん
19/10/07 13:22:48.77 lSqRbxbA.net
>>703
Linux等のUNIX系OS
at now +1 min
などとやって at job が一分後に動くようにして次の1行を入力してから Ctrl+D で終了させる。
echo 'このプログラムが起動するのは一度きりである。実行ののち、消去される。'
その後1分待つと上記文言の出力後 at job は削除される。
ただし通常の出力先である標準出力はないことになっているのでatによって拾われてメールでエラーメッセージと共に送られてくる。
それを見たい場合はmailコマンドで送られてきたメールの内容を見る等する。
729:蟻人間
19/10/07 18:38:53.78 tyyduGK2.net
>>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;
}
730:デフォルトの名無しさん
19/10/07 22:21:05.16 aU+ghkHH.net
>>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
嫌なプログラミンッグだな、一歩書き間違がや大参事。
こういうお題はご遠慮願いたいものだ…
731:デフォルトの名無しさん
19/10/07 22:32:50.62 aU+ghkHH.net
すまぬ >>713 は題意とは違うな。
プログラムの実行が終了してから削除されるわけか…
>>703 bash
(sleep 4; rm -f $0)&
echo このプログラムが起動するのは一度きりである。実行ののち、消去される。
実行結果
$ bash 15_703.sh
… 数秒後
$ ls -o 15_703.sh
ls: 15_703.sh にアクセスできません: No such file or directory
732:デフォルトの名無しさん
19/10/07 22:35:14.10 aU+ghkHH.net
>>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
733:デフォルトの名無しさん
19/10/07 23:18:10.62 Hq5Oz5C1.net
MSX BASIC
10 print"オハヨウフェルペスクン,コンカイノキミノニンムダガイカリャクナオコノテープハジドウテキニショウメツスル"
20 new
734:デフォルトの名無しさん
19/10/07 23:48:42.06 ti3U/Qjr.net
>>703
URLリンク(ideone.com)
C++。自分ができるのはここま・・・で・・・だ。。。
うぼぁあああああああ。
735:蟻人間
19/10/07 23:54:31.61 9cpaLYwd.net
実行時にexeにロックがかかるから、実行終了を待つsystem関数では消せないんだ、これが。
736:蟻人間
19/10/08 00:32:11.48 LPLIE15X.net
拡張子.batはコマンドプロンプトのバッチファイルを表す。
737:デフォルトの名無しさん
19/10/08 01:09:42.27 LQA6uDl1.net
URLリンク(ideone.com)
C++&.
738:デフォルトの名無しさん
19/10/08 01:10:33.04 LQA6uDl1.net
>>720
C++&Windows.
おかしなキーコンビネーションで投稿してしまったが、それは置いといて。
結構な沼だったわ。
739:デフォルトの名無しさん
19/10/08 01:14:29.28 LQA6uDl1.net
あ、数秒後にタスクを実行したかったが、分単位にしかならないようだ。
740:デフォルトの名無しさん
19/10/08 01:31:36.46 YlPtBjRn.net
どM乙。
741:デフォルトの名無しさん
19/10/08 02:43:45.63 LQA6uDl1.net
URLリンク(ideone.com)
C++&Windows. 結局バッチ作ってバッチを削除するようにした。
742:デフォルトの名無しさん
19/10/08 02:45:57.47 LQA6uDl1.net
C++で書いている意味があまりないなぁ。
頭がこんがらがってくるわ。
743:デフォルトの名無しさん
19/10/08 03:07:50.37 LQA6uDl1.net
タスクスケジューラには一個のタスクしか持たせることができません。
タスクスケジューラの健康のために削除タスクと削除タスクをkillするタスクを入れたという欲が出ました。
さて、どうすればよかったのでしょうか・・・。
744:デフォルトの名無しさん
19/10/08 03:25:53.77 LQA6uDl1.net
URLリンク(ideone.com)
チョットシンプルになった。
けど、ただスケジュールして
745:バッチファイル作るだけになっちゃった・・・。Orz ううううううぼぉぉぉおあぁぁぁあああ。。。
746:デフォルトの名無しさん
19/10/08 18:18:17.33 9WsdIwSr.net
おしい
747:デフォルトの名無しさん
19/10/08 22:43:05.75 8UaWwWzr.net
「インターネットには戦力外通告とかが無いから頭の悪い人がいつまでも打席に立って三振し続ける」
748:デフォルトの名無しさん
19/10/09 01:57:50.31 vwSn6CxZ.net
お題: TCPデータグラムが流れてくるのでFINフラグが立っていたら「切断します」と出力せよ
749:デフォルトの名無しさん
19/10/10 00:51:51.46 P0sO6qGI.net
>>729
IT分野の実社会では、単価にそれほど差がないのをいいことに
パーフォマンダウンによる差額で利ざやを稼ごうという
商売が横行して、結果としてIT分野が廃れている
だから。こまけーこたー いいんだよ
750:デフォルトの名無しさん
19/10/10 19:10:08.63 Tobvh7XK.net
>>703
Windows10で、普通に↓で消せた。
URLリンク(ideone.com)
751:デフォルトの名無しさん
19/10/10 19:12:56.39 AtKsFWU7.net
>>690 解けた人いない?
752:デフォルトの名無しさん
19/10/10 19:14:39.08 0pYFH17C.net
>>733
手では解いた
総当たり以外に思い浮かばん
753:デフォルトの名無しさん
19/10/10 20:46:59.80 78OW/ryc.net
いやお題はパズルを解けじゃなくてパズルのソルバーの実装だからwww
754:蟻人間
19/10/10 21:25:17.60 VnnXeZwz.net
古典的な人工知能の探索アルゴリズムを研究すれば、この程度のソルバーは作れる。
755:デフォルトの名無しさん
19/10/10 21:48:13.15 PZRS9XbT.net
つまり研究しないと作れないってことか。
756:デフォルトの名無しさん
19/10/10 23:09:22.63 gSAdFsTs.net
>>735
だから総当たり以外思い浮かばなかったって言ってるだろ
757:デフォルトの名無しさん
19/10/11 00:08:49.38 1+VMU1fD.net
>>690
ここの↓にすごい悩んだ。
URLリンク(regexcrossword.com)
Ambiguousの意味を知らずに・・・・・
758:デフォルトの名無しさん
19/10/11 01:56:11.32 H4pwkZny.net
いや総当たりでも出来たなら貼ってくれや。
別に総当たりでも恥ずかしくもなんともないと思うが…
759:デフォルトの名無しさん
19/10/11 08:53:45.55 MNDgolhS.net
貼りたくねえ
総当たり出できたものを他人のために見せる必要性もないし
760:デフォルトの名無しさん
19/10/11 09:03:11.12 Cra8acMD.net
できた!
みせて。
見せたくない!
うーん…
761:デフォルトの名無しさん
19/10/11 09:08:21.86 pcktkYLP.net
;フェルマーの最終定理
762:デフォルトの名無しさん
19/10/11 21:55:54.61 zKaC3xv0.net
お題:0~9999の整数について数字和を求め、数字和の頻度を集計せよ
ocaml
URLリンク(ideone.com)
c
URLリンク(ideone.com)
octave
URLリンク(ideone.com)
ruby
URLリンク(ideone.com)
763:
19/10/11 22:38:20 hqLUiXPo.net
>>744
URLリンク(ideone.com)
C++。最初サンプルと違う答えになってビビったけど、俺のコードがバグっていた・・・。Orz
764:デフォルトの名無しさん
19/10/11 22:44:43.53 poa9EnRO.net
すんごく二項定理っぽい数字の並び方をしてる
765:
19/10/11 23:16:02 GtQsvrI7.net
>>744 Java
URLリンク(ideone.com)
プログラミングのお題スレ Part9 [無断転載禁止](c)2ch.net
スレリンク(tech板:134番)-136
昔書いたこれ(上の136)を流用
766:デフォルトの名無しさん
19/10/11 23:53:28.54 jSXBX1w1.net
>>744
これって0~9999じゃなくて任意の2つの数字入力させてとかだと愚直に計算するしかない?
767:デフォルトの名無しさん
19/10/12 00:32:58.46 Cxdg6QkN.net
>>748
うまくやれば出来そうだがまだ思いつかん
768:
19/10/12 11:04:47 ewC1g8Dg.net
>>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} "
769:
19/10/12 11:07:06 ewC1g8Dg.net
いかん。すまん。出力が安価になってしまった。
770:デフォルトの名無しさん
19/10/12 11:31:04.69 zNYc1jm8.net
lol
771:デフォルトの名無しさん
19/10/12 11:52:28.41 msiQ/n9S.net
>>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}}
772:
19/10/12 13:09:50 Nq/Z/R6A.net
>>744 perl
use List::Util qw(sum);
$h{sum(split"")}++ for(0..9999);
map{print"$_ $h{$_}\n"}sort{$a<=>$b}keys%h;
773:デフォルトの名無しさん
19/10/12 13:25:43.66 VvSWBOR5.net
>>748 言われた通りの改定問題
X,Yが与えられる。
X以上Y以下の連続する整数で、数字和の頻度。
もっとも大きい頻度はいくつか。
制約 0 <= X < Y <= 5000億
1) 0 9999 --> 670
合計18が、670ある。>>744の入力値
2) 1234567 9876543 --> 459034
3) 1 500000000000 --> 20406732610
4) 12345678909 498765432123 --> 20000965162
※Y-Xが MAX5000億なので愚直(力技)はきつい。
※頻度表は"桁数*9"程度あるので、最高値出力のみに変更
774:
19/10/12 17:47:36 Nq/Z/R6A.net
頻度の階差を取った
0~9999だと三角数
0~99999だと三角錐数
になる
775:
19/10/12 18:44:18 I5ZWyiFj.net
>>740
>>741じゃねーけど総当りもどきで解いてみた
URLリンク(ideone.com)
URLリンク(i.imgur.com)
さすがにフルに総当りするととても終わりそうにないのでちょっとズルして各マスに入る文字を正規表現に使われている"ABCDEFGHMNORXYZ"に限定した
(ソースの217行目)
Celeron 1005M 1.9GHzのしょぼいノートPCで1,386秒(23分)程度だった
776:デフォルトの名無しさん
19/10/12 19:36:00.00 vBnCHMzu.net
>>757
すんごい
実行時間もすんごい…
777:
19/10/12 19:59:28 hTj/2FIT.net
>>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
もっと減らしたアルゴリズムを考えたい気もするけど、
これで一回投稿
778:
19/10/12 20:06:37 hTj/2FIT.net
>>759
アンカーしくった、>>744 だった…ゴメンね
779:
19/10/12 20:24:43 1DgZSjUc.net
白状すると単にrubyで書きたいだけのお題だったんだけど
(Array#repeated_permutationを使いたいだけ)
みんな色々面白いこと考えるもんだね
780:蟻人間
19/10/13 14:56:19.23 w8oKE2gz.net
お題: ストップウォッチを作れ。
最初にEnterキーを押すとスタート。
次にEnterキーを押すとストップ。
経過した時間を表示する。
781:
19/10/13 15:28:31 XFDKT5kN.net
>>744 Python
URLリンク(ideone.com)
――-
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)
782:
19/10/13 17:38:11 qg/TNtNV.net
>>762
URLリンク(ideone.com)
C++。ストップウオッチ自体は大分前にC#をパクって作ってあったありあわせだ。
783:デフォルトの名無しさん
19/10/13 21:07:01 w512EwKm.net
>>755 C
URLリンク(ideone.com)
一応Y = LLONG_MAXまでできる、あってるか知らんが
ただのスパゲッティになってしもた
784:デフォルトの名無しさん
19/10/14 01:02:32 Ws6GlsT+.net
>>744
Kotlin
URLリンク(paiza.io)
785:デフォルトの名無しさん
19/10/14 02:00:45.97 Ws6GlsT+.net
>>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))
}
しかしこれでは途中経過が出てこなくて�
786:ツまらない。ということでこれ。 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() }
787:デフォルトの名無しさん
19/10/14 07:53:19.70 kizbcx2j.net
お題
2^511-1の真約数をひとつ求める
URLリンク(mainichi.jp)
788:デフォルトの名無しさん
19/10/14 08:39:26.54 6P2fe30E.net
>>768
そのニュース関係なくね?
789:デフォルトの名無しさん
19/10/14 08:53:29.04 z/6QW2Tk.net
実は素数でした
とかいう形?
790:デフォルトの名無しさん
19/10/14 09:34:48.23 6P2fe30E.net
>>770
511 = 7 * 73 だから 2^511 - 1 は素数ではない
791:
19/10/14 09:38:05 6P2fe30E.net
というか2^73-1で割り切れる
792:
19/10/14 15:57:50 eo8SsHS2.net
>>771-772
それは 2^511-1 は 2^7-1 でも割り切れることを主張しているのですか?
793:デフォルトの名無しさん
19/10/14 16:21:24.99 CCU+9UFO.net
>>773
それ以外にどう読めるんだよアホか
794:デフォルトの名無しさん
19/10/14 20:26:24.40 ead7I0ur.net
>>773
2^511-1 = 2進数で1が511個 = 2進数で1111111が73個並んだ形
2^511-1を2^7-1で割ったら2進数で0000001が73個並んだ形
ってことじゃろ
795:蟻人間
19/10/14 20:53:54.75 O0QR+doO.net
プログラミングから一気に整数論へダイブ
796:
19/10/14 21:23:44 eo8SsHS2.net
>>774-775
2^{ab}-1 = (2^a-1)(1 + 2a + 2^2a + 2^3a + ... + 2^(b-1)a)
と因数分解できるんですね…
thx a lot.
797:
19/10/14 22:14:18 hXRtCJE+.net
必死に5時間検索しまくったのか・・・
798:
19/10/15 01:03:22 LXkkA+L3.net
もう何処かのチャレンジ問題を議論するスレでも良いのでは?
799:デフォルトの名無しさん
19/10/15 01:28:25.21 4KtvCQDg.net
お題: お題スレの過去スレからお題をランダムに選択し出力するプログラムを作成せよ
800:
19/10/15 15:09:04 WmSwVXlW.net
QZの醜態を全部晒すプログラムを作成せよ
801:
19/10/15 15:25:10 YTs2ZIZB.net
>>781
w3m スレリンク(tech板) | ~/bin/select_word_and_ancher.pl QZaw55cn4c
URLリンク(pastebin.com)
URLリンク(i.imgur.com)
802:デフォルトの名無しさん
19/10/15 16:06:38.33 Ogt2CAsV.net
>>782
くそわろた
803:デフォルトの名無しさん
19/10/16 01:16:39.26 bAHdrVWX.net
>>755 python
URLリンク(ideone.com)
ほぼ典型っぽいので、桁DPで解く。
遊びで (X,Y)=(0, 10^100)を実行してみる
804:デフォルトの名無しさん
19/10/16 01:58:29.60 OEkTBx4G.net
あらら仕事にかまけてほったらかしていたら
先こされちゃったな感
805:デフォルトの名無しさん
19/10/16 02:04:49.25 5tDJE0Z9.net
QZは自分がキチガイということは全然自覚してないんだろうな
806:デフォルトの名無しさん
19/10/16 08:36:01.98 Mi1dGaVf.net
>>786 自覚はあるらしいよ。
807:
19/10/16 16:11:48 EcYqpM5S.net
QZが自身をキチガイだと認識しているのならば、QZはキチガイという言葉の正しい意味を理解していない
808:デフォルトの名無しさん
19/10/16 16:58:30.92 NsS1/fO1.net
誰が見てもQZは頭がおかしいよ
809:
19/10/16 20:10:11 JF94p0Fe.net
>>789
どういうところが「頭がおかしい」と思ったのですか?
810:
19/10/17 01:44:31 QhHbr34y.net
>>790
周囲が迷惑している行為や的外れで頓珍漢な言動をした際にそれを指摘しても、分からないから具体的に言えという。普通の人からすれば明らかな場合であろうと。
そして具体的に説明しても、自分はそう感じないから理解しない、納得しないと言い、言動を改めない。
本人の中では論理的整合性がとれた言動なのかも知れないが、周囲からすれば会話ができない困った奴に見える。
811:
19/10/17 02:01:41 Wp46MCu9.net
朝鮮人に特有な行為だね
812:デフォルトの名無しさん
19/10/17 02:18:55.29 E+5qu981.net
他人の迷惑考えずこんなの貼っちゃう奴だしな
848 ◆QZaw55cn4c sage 2019/07/20(土) 08:18:17.29 ID:jbjCUWIF
お題と回答
5 : 6 10 32 36 44
9 : 15 34 35 79
まんま>>791に該当するわ
813:
19/10/17 09:29:19 yTQXhZUg.net
複素数の多価関数を何度説明しても理解してなかったし脳に欠陥があるのだろう
814:
19/10/17 12:35:29 MLKesy/P.net
多価関数を理解できなかったのかwww
じゃあリーマン面も分からないだろうな
そんな状態で一丁前に「留数定理」とのたまうから頭おかしい
815:デフォルトの名無しさん
19/10/17 16:53:38 H8l94EK2.net
>>744
Kotlin
>>766をほんのちょっと改造
URLリンク(paiza.io)
816:
19/10/17 19:46:20 LNHzPSkK.net
>>795
>そんな状態で一丁前に「留数定理」とのたまう
多分、それは「留数定理は忘れた」という文脈以外ではいったことがないと思いますよ
>>794
「何度も」説明を受けた覚えはありませんよ、むしろ意図的に答えを隠されたような隔靴掻痒的なほのめかししかなかったと記憶しています
>>793
問題を明確に指摘された後は、その貼り付けは実施していないのですが
>>794
今はすべてを実数に限定した線形微分方程式ですらとても苦しんでいるので、複素解析/j関数論とかは当分無理だと思います、関数論のいい教科書があれば教えてください
817:
19/10/17 20:10:25 Fo0iAhjp.net
>>797
あれだけ明瞭な説明を受けて理解できないどころかはぐらかされたと感じるならばお前は脳の病気だな
818:デフォルトの名無しさん
19/10/17 22:10:55.40 lFPJOlZz.net
5chなんて無駄にマウント取るやつばっかりだから、コテつけてごちゃごちゃ言っても時間の無駄だぞ
袋叩きにあうだけ
819:デフォルトの名無しさん
19/10/18 01:24:53 RRRrLQ0r.net
自演擁護乙。
820:蟻人間
19/10/18 23:48:51.61 981JMrNY.net
気を取り直していくぞ。
お題: 現在時刻のアナログ時計のSVG画像を出力せよ。丸い外枠と短針と長針だけでいいが、可能なら秒針と文字盤も表示せよ。
821:デフォルトの名無しさん
19/10/19 02:49:07.69 PZMkyc4n.net
暇な人向けのお題:なるべく公正な多数決システムを考案せよ。
サンプル:URLリンク(ideone.com)
上記は多数決して、3人サンプルして、じゃんけんする。というプロセスで導き出される。
822:デフォルトの名無しさん
19/10/19 18:44:38.13 PZMkyc4n.net
暇な人向けのお題II!
9x9のセルが与えられる。そのセルは磁石である。
真空状態での磁気シミュレーションをして量子コンピュータに近似せよ。
一つの万能ではない方針。
1パス目で相互作用を足し込む。
2パス目で相互作用の蓄積を作用素数で割る。
ライフゲームがヒントになるかもしれない。
823:デフォルトの名無しさん
19/10/19 18:45:19.24 PZMkyc4n.net
>>803
なお、自分は物理学も数学も素人である。。。Orz
824:デフォルトの名無しさん
19/10/21 08:37:49 HKPBZHRe.net
お題
入力された正整数を漢数字表記にして出力せよ
10の何乗まで対応するかは任せる
514 -> 五百十四
131072 -> 十三万千七十二
90010 -> 九万十
825:デフォルトの名無しさん
19/10/21 09:41:08 5iZNWaQ2.net
>>805 python
%pip install kanjize
from kanjize import in
826:t2kanji, kanji2int print(int2kanji(123456789)) # 一億二千三百四十五万六千七百八十九
827:デフォルトの名無しさん
19/10/21 09:45:18 HKPBZHRe.net
>>806
そんなのあるのか…
828:デフォルトの名無しさん
19/10/21 13:26:32 Yxovtd3S.net
perlの時代には既に存在した
829:デフォルトの名無しさん
19/10/21 13:31:36 W7vxtZcq.net
じゃあunicodeにシュメル文字が収録されたので、それで。
フフフ、ライブラリなんてあるまい
830:デフォルトの名無しさん
19/10/21 13:35:10 ZDMJHUdn.net
>>809 Python
%pip install sumerianize
from fumerianize import int2sumerian, sumerian2int
print(int2sumerian(123456789))
# ????????????????????????
831:デフォルトの名無しさん
19/10/21 13:39:33 n9VxwF2L.net
あんのかよワロタw
832:デフォルトの名無しさん
19/10/21 13:45:48 qqa/WroJ.net
逆も欲しいな
漢数字を入れるとアラビア数字に変換するプログラム
833:デフォルトの名無しさん
19/10/21 13:49:33 BDK5iYLM.net
表示できてなくて笑う
834:デフォルトの名無しさん
19/10/21 13:50:52 hy8thByE.net
>>805
それと同じお題を以前出した覚えがある。
まあいいか。スレ見に来てる人も変わってるだろうし。
835:デフォルトの名無しさん
19/10/21 16:23:33 5iZNWaQ2.net
>>813 表示できていないのは見る人がフォントを入れていないからだろ。 不思議でも何でもない。
836:デフォルトの名無しさん
19/10/21 16:37:23.10 lI38JOob.net
>>812
それと同じお題も過去にあったような。双方向で変換ってやつかな。
まだやったことない人なら頭の体操(またはボケ防止)にはなるからやってみると良いと思う。
837:デフォルトの名無しさん
19/10/21 17:22:20.45 Yxovtd3S.net
>>812
漢数字変換 - Perl表技集
URLリンク(www2u.biglobe.ne.jp)
これですな
838:デフォルトの名無しさん
19/10/21 20:27:05.91 niRnsl0k.net
実はcpanからお題を決めてるんじゃないかなというのがしばらく続いてたと思う
839:デフォルトの名無しさん
19/10/21 22:35:38 9OcWZn69.net
ローマ数字との変換、は簡単か
840:デフォルトの名無しさん
19/10/21 22:41:08 tcnN+Hr+.net
何回か出てる。
841:デフォルトの名無しさん
19/10/21 23:57:16.86 PlH6WJHg.net
適当な整数を入力してそれが円周率の何桁目で出てくるか出力せよ。
何桁まで対応するかは任せる。
842:デフォルトの名無しさん
19/10/22 00:08:15 TSqT/b7n.net
perl だと m/digit/p からの $^{prematch} とかだな
843:デフォルトの名無しさん
19/10/22 12:07:39.33 rZX4V0+4.net
>>821 Perl5、小数点以下10000桁まで一番最初に見つかった桁を出力
$d = 893; # 適当な整数
use Math::BigFloat try => 'GMP,Pari';
$pi = Math::BigFloat->bpi(10000);
#print "$pi\n";
$pi =~ s/\.//; # 小数点「.」を除去
$i = index $pi, $d;
print $i < 0 ? "無し\n" : "小数点以下 $i 桁目\n";
実行結果
~ $ perl 15_821.pl
小数点以下 999 桁目
844:デフォルトの名無しさん
19/10/22 12:11:07.49 wZUXcjF6.net
あきらかにNP問題だから解く気がしねえ
845:デフォルトの名無しさん
19/10/22 12:40:06.09 E1qN728j.net
じゃあNP問題だと証明しろよ
846:デフォルトの名無しさん
19/10/22 13:54:00.39 rZX4V0+4.net
>>823
一度にある桁まで求めておいてから検索するよりも、
ガウス=ルジャンドルのアルゴリズムまたはラマヌジャンの式を使うなどして
下の桁まで収束を進めながら検索してゆく方が面白かったかな
847:デフォルトの名無しさん
19/10/22 16:09:06.09 0ZM3PvBa.net
>>825
キチガイすぎて草
848:デフォルトの名無しさん
19/10/22 19:15:47.41 /ue0mcGS.net
ぬるぽ問題
849:デフォルトの名無しさん
19/10/22 19:35:05.18 JpCkwFny.net
じゃあそれにしよう。
適当な文章を入力して縦横斜めにぬるぽの3文字が入っていればガッと出力す
850:る。 ひらがなだけにするかそれ以上の対応をするかは任せる。
851:デフォルトの名無しさん
19/10/22 23:37:52.31 0ZM3PvBa.net
>>829 Python
%pip install nurupo
from nurupo import nurupofield
if nurupofield("ぬるぽ")
print("ガッ")
# ガッ
852:デフォルトの名無しさん
19/10/23 00:32:58.65 65oBAktI.net
pythonなんでも揃ってんな・・・
853:デフォルトの名無しさん
19/10/23 20:25:56.13 LcbXQT4h.net
お題:整数配列の奇数要素のみをソートした配列を返す処理を書いてください
入力例:[6, 5, 4, 3, 2, 1]
出力例:[6, 1, 4, 3, 2, 5]
854:デフォルトの名無しさん
19/10/23 20:53:09.53 oBmkNBH8.net
>>832 octave
URLリンク(ideone.com)
855:デフォルトの名無しさん
19/10/23 20:53:23.91 65oBAktI.net
奇数だけ抜き出した配列作成→ソート→元の配列の奇数の位置にソートした配列の要素を入れてくだけで良さそう
856:デフォルトの名無しさん
19/10/23 20:54:52.29 oBmkNBH8.net
あ、ダメだこれw
失礼しました
857:833
19/10/23 21:05:23.34 oBmkNBH8.net
>>832 octave
URLリンク(ideone.com)
858:デフォルトの名無しさん
19/10/23 22:37:14.26 PSSarBFK.net
>>832 Perl5
@s = (6, 5, 4, 3, 2, 1);
@ix = grep{$s[$_] & 1} keys @s;
@iy = sort{$s[$a] <=> $s[$b]} @ix;
@s[@ix] = @s[@iy];
use Data::Dump 'dump';
print dump @s;
実行結果
~ $ perl 15_832_sort_odd_elem.pl
(6, 1, 4, 3, 2, 5)
859:デフォルトの名無しさん
19/10/24 08:28:31.82 5RTZY+Zo.net
>>832 J
f =: 3 : 0
a =. I. 2 | y
b =. /:~ a { y
b (a) } y
)
f 6 5 4 3 2 1
6 1 4 3 2 5
860:デフォルトの名無しさん
19/10/24 09:51:33.40 76TAYxNw.net
>>832
p [6, 5, 4, 3, 2, 1].partition.with_index{|_, i| i.even?}.then{|e, o| e.zip(o.sort).flatten}
# => [6, 1, 4, 3, 2, 5]
861:デフォルトの名無しさん
19/10/24 09:51:53.30 76TAYxNw.net
>>839 Ruby 2.6.0
862:デフォルトの名無しさん
19/10/24 12:04:34.69 yRKIAYVV.net
>>839
[6, 5, 3, 2, 1] とかだと結果が間違っている上、nilとか足されてひどいことになるyo?
p [6, 5, 3, 2, 1].partition.with_index{|_, i| i.even?}.then{|e, o| e.zip(o.sort).flatten}
# => [6, 2, 3, 5, 1, nil]
正しくは => [6, 1, 3, 2, 5]
863:デフォルトの名無しさん
19/10/24 15:41:34.92 gElHX+jG.net
>>832
Kotlin
URLリンク(paiza.io)
やり方は >>834 に書かれている通り。
しかし、もっとスマートな方法はないものか?
ありそうだが思い浮かばない。
864:デフォルトの名無しさん
19/10/24 16:54:57.81 ZpMPcQ0n.net
>>842
配列コピーしない場合奇数が出たらその後の要素を見て一番小さい奇数と要素の交換でもどう?
配列のコピー不要や。
865:デフォルトの名無しさん
19/10/24 21:24:20.41 YtgvOVKx.net
>>832 ruby
URLリンク(ideone.com)
>>832 ocaml
URLリンク(ideone.com)
866:デフォルトの名無しさん
19/10/24 23:20:25.74 33G0+sWg.net
>>838
さすがJニキ、さっぱりわからん…
867:デフォルトの名無しさん
19/10/25 00:26:52.21 GgLEjF73.net
アプリ作成したいのですが、素人なのでどなたか相談に乗ってください。
飲み物が入ったコップを定期的に重量を量り、
そのデータを無線で受信してサーバーで記録し
プロットするアプリを作りたいです。
またRaspiなどのPCはなしで作りたいのですが
組み込みPC?を使わないとできませんか?
またこういったアプリに適した言語などありますでしょうか?
868:デフォルトの名無しさん
19/10/25 00:32:12.57 D+sRag4r.net
プログラム部分はたいしたことがないとおもうのだが
装置、ハードのほうが大事だろ
そもそもプログラムもハード依存するかもしれないし
�
869:チに既成品なら
870:デフォルトの名無しさん
19/10/25 00:48:27.50 GgLEjF73.net
ありがとうございます。
ハードウェアの知識が全く無いため困っています。
飼い猫のために水の量を管理してあげたいんです。
下記のような組み合わせで出来そうでしょうか?
ADコンバータ
KKHMF HX711モジュール 秤量センサー 24位精度ADモジュール 圧力センサーモジュール
重量センサー
uxcell 計量ロードセル アルミ合金材質 500g計量 電子天秤 有線 計量センサー
871:デフォルトの名無しさん
19/10/25 03:57:48.67 uJcHRouN.net
やり方わからないんだけど、カメラで撮影して映像解析して量が分かるのであればスマホやタブレット用のアプリでできそうだよね。
(PCに小さいカメラ付けても良いが)。
872:デフォルトの名無しさん
19/10/25 04:08:18.02 rztx2iSz.net
>>848
適切なスレに移動した方がいいぞ
873:デフォルトの名無しさん
19/10/25 09:43:45.15 C/odSq3f.net
センサーの話題などは、Linux 板のラズパイのスレで聞けば?
874:デフォルトの名無しさん
19/10/25 09:56:31.28 VVjeWd6A.net
>>848
適当なIoTの計り買えば解決
実装はCだろうな
875:デフォルトの名無しさん
19/10/25 11:49:06.01 C/odSq3f.net
>>832
Ruby で、
input_ary = [ 6, 5, 4, 3, 2, 1 ]
odd_ary = [ ]; index_ary = [ ]
input_ary.each_with_index do |num, idx|
if num.odd?
odd_ary.push num
index_ary.push idx
end
end
odd_ary.sort! # ソート
# 同時に、複数の配列をループする
index_ary.zip( odd_ary ).each { |idx, num| input_ary[ idx ] = num }
p input_ary
876:デフォルトの名無しさん
19/10/25 12:30:51.02 GgLEjF73.net
>> 849 , 850, 851, 852
情報ありがとうございます。
スレチだったみたいで申し訳ないです。
センサーありきなので、Raspiは使わないと思うのですが
板覗いてみます。
877:デフォルトの名無しさん
19/10/25 14:59:52.83 ylwTeYJx.net
>>832
URLリンク(ideone.com)
C++。クイックソート書けないので謎のソートでお茶を濁す。
878:デフォルトの名無しさん
19/10/26 01:38:30 o5w2ifn2.net
お題: 端末上で(´・ω・`)を端から端まで移動し、往復させよ
ただし、端についたら(´・ω・`)は増幅し(´・ω・`)(´・ω・`)になる
同様に再び端についたら(´・ω・`)(´・ω・`)は増幅し(´・ω・`)(´・ω・`)(´・ω・`)になる
左右に移動できなくなる又ははみ出す場合は逆に(´・ω・`)を減らしていき、最終的に(´・ω・`)を消滅させよ
879:デフォルトの名無しさん
19/10/26 06:24:17 2eoY+VbT.net
お題: Unicode 1 文字を与えると East Asian Width に従った属性値を返す関数を作成し、その関数に対して任意の文字を与えてテストするプログラムを作れ。
返す属性値の F, H, W, Na, A, N は文字列でも良いし対応する数値でも良いし enum のような(またはCなら #define されている)名前でも良い。
East Asian Width の一覧は下記URLのテキストの内容を使用する。これを最初に読んで初期化するように作っても良いし、最初からプログラムに適した形式で埋め込まれていても良い。
URLリンク(www.unicode.org)
参考: 東アジアの文字幅
URLリンク(ja.wikipedia.org)
880:デフォルトの名無しさん
19/10/26 07:11:59 I0XoRu/q.net
お題:>>832 に「偶数要素は2で割って降順ソート」という要件を追加してください
すでに回答済
881:みの場合は最少限の変更でのご対応で腕(もしくは言語のポテンシャル)を見せてください
882:デフォルトの名無しさん
19/10/26 07:27:04.95 I0XoRu/q.net
>>858
入力例:[0, 9, 8, 4, 6, 5, 1, 2, 7, 3]
出力例:[4, 1, 3, 2, 1, 3, 5, 0, 7, 9]
883:デフォルトの名無しさん
19/10/26 11:01:29.07 /Rj6VhaF.net
>>832 Pharo/Squeak Smalltalk
| fn |
fn := [:arr |
| sortedOdds |
sortedOdds := (arr select: #odd) sort readStream.
arr collect: [:x | x odd ifTrue: [sortedOdds next] ifFalse: [x]]
].
fn value: #(6 5 4 3 2 1) "=> #(6 1 4 3 2 5) "
>>835
| fn |
fn := [:arr |
| sortedOdds sortedHalfEvens |
sortedOdds := (arr select: #odd) sort readStream.
sortedHalfEvens := ((arr select: #even) sort reversed / 2) readStream.
arr collect: [:x | x odd ifTrue: [sortedOdds next] ifFalse: [sortedHalfEvens next]]
].
fn value: #(0 9 8 4 6 5 1 2 7 3) "=> #(4 1 3 2 1 3 5 0 7 9) "
884:デフォルトの名無しさん
19/10/26 11:03:35.88 /Rj6VhaF.net
>>860
×835 → ○>>858
885:デフォルトの名無しさん
19/10/26 11:45:52.80 4aRwI3hq.net
>>859 Perl5、最小限でか…
@s = (0, 9, 8, 4, 6, 5, 1, 2, 7, 3);
@ix = grep{$s[$_] & 1} keys @s;
@iy = sort{$s[$a] <=> $s[$b]} @ix;
@s[@ix] = @s[@iy];
@iz = grep{~$s[$_] & 1} keys @s;
@s[@iz] = map{$_ / 2} reverse sort{$a <=> $b} @s[@iz];
use Data::Dump 'dump';
print dump @s;
実行結果
~ $ perl 15_859.pl
(4, 1, 3, 2, 1, 3, 5, 0, 7, 9)
886:デフォルトの名無しさん
19/10/26 12:12:03.02 Zgyrlv2c.net
>>832,858
@Mathematica
URLリンク(ideone.com)
887:デフォルトの名無しさん
19/10/26 12:22:15.14 GFiKSQ9h.net
>>856
Porwershell。バージョンによってはプロンプト画面に直接貼り付けると$sの文字列が
化けるので、その場合はファイルに保存して実行。
$s = "('・ω・``)"
$w = $Host.UI.RawUI.WindowSize.Width - 1
$m = [Math]::Floor($w / 10)
foreach ($n in 1..$m + ($m - 1)..0) {
$d = $w - 10 * $n
foreach ($x in (($d..1), (1..$d))[$n % 2]) {
$l = "`r" + " " * $x + $s * $n + " " * ($d - $x)
Write-Host $l -NoNewline
if (!$n) {Write-Host; break}
Sleep -m 20
}
}
888:デフォルトの名無しさん
19/10/26 13:49:47.32 f6JeNzn+.net
Mathematica12
定義
f1[a_]:=SubsetMap[Sort,a,Position[a,_?OddQ,1]]
f2[a_]:=SubsetMap[ReverseSort[#]/2&,f1[a],Position[a,_?EvenQ,1]]
実行結果
f1[{6,5,4,3,2,1}]
{6,1,4,3,2,5}
f2[{0,9,8,4,6,5,1,2,7,3}]
{4,1,3,2,1,3,5,0,7,9}
889:デフォルトの名無しさん
19/10/26 17:08:24.41 kYj2w42l.net
>>832, >>858 Ruby
f = -> ary {
e, o = ary.partition(&:even?).map(&:sort)
ary.map{|v| v.even? ? v : o.shift}
}
g = -> ary {
e, o = ary.partition(&:even?).map(&:sort)
ary.map{|v| v.even? ? e.pop >> 1 : o.shift}
}
p f[[6, 5, 4, 3, 2, 1]] # => [6, 1, 4, 3, 2, 5]
p g[[0, 9, 8, 4, 6, 5, 1, 2, 7, 3]] # => [4, 1, 3, 2, 1, 3, 5, 0, 7, 9]
890:デフォルトの名無しさん
19/10/26 20:25:43.01 XXeS+kK0.net
>>858 c
URLリンク(ideone.com)
891:デフォルトの名無しさん
19/10/26 22:02:49.24 +YWUVQNg.net
>>856
URLリンク(ideone.com)
C++。なんか表示位置ずれるなーと思ったら、「()」これ半角じゃねーか。
そのせいで、プログラムが持ってる長さと表示の長さが合わなかった。
しかし、汚くなった無し、思ったより時間がかかってしまった。
892:デフォルトの名無しさん
19/10/26 22:16:30.14 FFSD3o8O.net
>>858 octave
URLリンク(ideone.com)
>>858 ruby
URLリンク(ideone.com)
>>858 ocaml
URLリンク(ideone.com)
893:デフォルトの名無しさん
19/10/26 22:21:47.70 +YWUVQNg.net
>>858
URLリンク(ideone.com)
C++。前のヤツに関数足した。
オーダーが倍になったが改修だとこんなもんだ。
894:蟻人間
19/10/26 22:38:02.04 Q5f3
895:+aYX.net
896:デフォルトの名無しさん
19/10/26 22:38:38.76 T/HAOzs9.net
tree
897:デフォルトの名無しさん
19/10/26 22:46:14.97 a/Ne+y1n.net
完
898:蟻人間
19/10/26 23:33:25.57 0HLEEd3+.net
熟
899:デフォルトの名無しさん
19/10/26 23:36:46.58 Up+ppHZL.net
ト
900:デフォルトの名無しさん
19/10/26 23:56:14.95 mT+r0MIT.net
マ
901:デフォルトの名無しさん
19/10/27 01:42:02 98GTxTrH.net
ホ
902:デフォルトの名無しさん
19/10/27 01:48:49 hTxWtEZY.net
ー
903:デフォルトの名無しさん
19/10/27 02:14:55 qZK0Jir5.net
ク
904:デフォルトの名無しさん
19/10/27 12:00:30.73 czi1K5eV.net
>>858-859
PowerShell
$a = 0, 9, 8, 4, 6, 5, 1, 2, 7, 3
$b = 0, 0
$i = 0, 0
$odd = {$_ % 2}
$b[0] = @($a |? {!(&$odd)} |% {$_ / 2} | sort -descending)
$b[1] = @($a |? {&$odd} | sort)
$c = $a |% {$b[(&$odd)][$i[(&$odd)]++]}
"入力: [" + ($a -join ", ") + "]"
"出力: [" + ($c -join ", ") + "]"
905:デフォルトの名無しさん
19/10/27 21:46:52.77 JAeIkS65.net
>>858 c
URLリンク(ideone.com)
906:デフォルトの名無しさん
19/10/28 14:33:15.95 kjzN6NI8.net
>>858-859
Haxe で、
URLリンク(try.haxe.org)
907:デフォルトの名無しさん
19/10/28 21:54:57.80 UPe4TNxT.net
Common Lisp
>>832
(let* ((l '(6 5 4 3 2 1))
(odds (sort (remove-if-not #'oddp l) #'<)))
(mapcar (lambda (x) (if (oddp x) (pop odds) x)) l))
>>858-859
(let* ((l '(0 9 8 4 6 5 1 2 7 3))
(odds (sort (remove-if-not #'oddp l) #'<))
(evens (sort (remove-if-not #'evenp l) #'>)))
(mapcar (lambda (x) (if (oddp x) (pop odds) (/ (pop evens) 2))) l))
908:蟻人間
19/10/28 22:20:53.11 9dus/Ppg.net
Linuxにこんなコマンドあんのかよお?
URLリンク(www.adminweb.jp)
909:デフォルトの名無しさん
19/10/28 22:33:53.27 cHOU2eIF.net
>>871
Powershell。標準のtreeコマンドと違い、システム/隠しフォルダも表示する。
バージョンによってはプロンプト画面に貼り付けると罫線文字が消えてしまうので、
その場合はps1ファイルに保存して実行するか、PowerShell ISEに貼り付ける。
function MyTree($path, $branch)
{
if (!$branch) {$path}
$dir = @(ls -Force -PSPath $path -EV e -EA SilentlyContinue |? {$_.PSIsContainer})
if ($e) {$branch + "::アクセス不可"}
if (!$dir) {return}
0..($last = $dir.Count - 1) |% {
$branch + ("├─", "└─")[$_ -eq $last] + $dir[$_].Name
MyTree $dir[$_].FullName ($branch + ("│ ", " ")[$_ -eq $last])
}
}
MyTree "C:\Windows"
910:デフォルトの名無しさん
19/10/28 23:08:40.85 F/Wh8ChL.net
>>884
100年前からあるよ
911:デフォルトの名無しさん
19/10/28 23:13:15.22 uBs49FGp.net
色わけもされているのが良くあり、たいへん見やすい
912:蟻人間 ◆T6xkBnTXz7B0
19/10/29 01:01:17 CdNgVa0z.net
お題: 平面(0, 0)-(100,100)上に点を100個、配置する。k-means法を用いて点の集合を3つのグループに分け、それらを図示せよ。
913:デフォルトの名無しさん
19/10/29 08:42:30.06 CowX2GWO.net
>>858-859
Ruby で、
input_ary = [ 0, 9, 8, 4, 6, 5, 1, 2, 7, 3 ]
even_ary, odd_ary = input_ary.partition( &:even? ) # 偶数・奇数配列
odd_ary.sort! # 奇数要素をソート
# 偶数要素は、2で割って降順ソート
even_ary.map! { |num| num / 2 }
even_ary.sort!
even_ary.reverse!
p results = input_ary.map { |num| num.even? ? e
914:ven_ary.shift : odd_ary.shift } # 偶数・奇数
915:デフォルトの名無しさん
19/10/29 11:11:57.21 8fHMSau6.net
やっぱり初心者にはまず黒い画面のCUIからやらせたほうがいいな
916:デフォルトの名無しさん
19/10/29 18:19:47.29 BWleRN1J.net
設定で白い画面にすると心が和らぐかも知れない
917:デフォルトの名無しさん
19/10/29 18:42:27.40 plxF2L4V.net
目がクラッシュ
918:デフォルトの名無しさん
19/10/29 21:04:32.22 OodB9NB8.net
日本標準時2100に起動し、Web上から文字列「惣流・アスカ・ラングレー」を含む.jpgファイルもしくは.jpegあるいは.pingファイルをC:秘蔵に1GB分保存するコードを教えてください
919:デフォルトの名無しさん
19/10/29 21:19:03.11 zdS42c06.net
式波だろオッサン
920:デフォルトの名無しさん
19/10/29 22:05:19.10 xXVEd4hK.net
>>893
0 21 * * * sudo less BigWeb | grep アスラン・ザラ > home/C/H_file limit 1GB
921:デフォルトの名無しさん
19/10/29 22:18:10.10 VtVeF5OO.net
>>893
firebird -t0:21:0:0 --everyday --query 惣流・アスカ・ラングレー --suffix "jpg|jpeg|ping" --dst "C:\secret" --limit 1GB
922:デフォルトの名無しさん
19/10/30 00:58:38.18 VQ6oDJg7.net
pingファイルわらた
923:デフォルトの名無しさん
19/10/30 04:42:26 LML0ucqT.net
アイが隠っている
924:デフォルトの名無しさん
19/11/01 22:31:20.50 5BPqTvCN.net
お題: 3^3^3^... のような反復指数を10の反復指数に近似するプログラムを作成しなさい。
入力されるそれぞれの指数は1より大きい実数とします。
計算後の最も右の指数xは 1<x≦10 としてください。
例:
3^3^3^3^3^3 = 10^10^10^10^10^1.099
2.718^2.718^2.718^2.718^7.705 = 10^10^10^10^2.983
(5.0e+50)^(6.0e+60)^(7.0e+70)^(8.0e+80)^(9.0e+90) = 10^10^10^10^10^10^1.968
1.1^1.1^1.1^1.1^1.1 = 1.112
925:デフォルトの名無しさん
19/11/01 23:58:48.16 Yq8XY12s.net
a^n = b^x を解く問題でいいじゃん
926:蟻人間
19/11/02 13:25:33.62 OyXmLdGY.net
>>899
演算子^は、左結合、それとも右結合?
927:デフォルトの名無しさん
19/11/02 14:21:37.47 ZDjpW1U6.net
>>901
右結合です
a^b^c => a^(b^c)
無論 ^はべき乗の演算子です。
928:蟻人間
19/11/02 16:24:06.83 3ZL9CX49.net
10^1~10^10で二分探索を繰り返しかな?
929:デフォルトの名無しさん
19/11/02 17:38:05.70 q/Mbih9P.net
>>899
URLリンク(ideone.com)
C++。あってるか知らんけど、知識を動員して解いてみたんだけど、あってる?
三の3乗を6回やったら、doubleでinfになるので解けねーわ。うわわーん。
930:デフォルトの名無しさん
19/11/02 18:12:47.84 41WzS7Cc.net
>>904
コード一切読んでないけどお前のは間違ってると思うよ
931:デフォルトの名無しさん
19/11/02 18:39:57.30 q/Mbih9P.net
>>905
意味が解らん。
まぁ、いいけど。
932:デフォルトの名無しさん
19/11/02 19:40:47.26 0iFQzt0L.net
>>899
PowerShellで最初の2例だけ。
function lg($x) {[Math]::log10($x)}
function pow($x, $y) {[Math]::pow($x, $y)}
function tetrconv($a)
{
$k = lg ((pow $a[-2] $a[-1]) * (lg $a[-3]) + (lg (lg $a[-4])))
$b = @(10) * ($a.count - 1) + [Math]::round($k, 3)
($a -join "^") + " = " + ($b -join "^")
}
tetrconv (@(3) * 6)
tetrconv (@(2.718) * 4 + 7.705)
933:デフォルトの名無しさん
19/11/02 21:32:51.49 0iFQzt0L.net
>>899
最後の2例にも対応した。
function lg($x) {[Math]::log10($x)}
function pow($x, $y) {[Math]::pow($x, $y)}
function tetrconv($a)
{
$k = $a[-1]
foreach ($i in -2..-$a.count) {
if ($k -gt 10) {break}
$k = pow $a[$i] $k
}
if ($i - 1 -ge -$a.count) {$k *= lg $a[$i - 1]}
if ($i - 2 -ge -$a.count) {$k += lg (lg $a[$i - 2])}
while ($k -gt 10) {
$k = lg $k
$i++
}
if ($i += $a.count) {$i++}
$b = @(10) * $i + [Math]::round($k, 3)
($a -join "^") + " = " + ($b -join "^")
}
tetrconv (@(3) * 6)
tetrconv (@(2.718) * 4 + 7.705)
tetrconv (5.0e50, 6.0e60, 7.0e70, 8.0e80, 9.0e90)
tetrconv (@(1.1) * 5)
934:デフォルトの名無しさん
19/11/03 00:32:05.95 ORedds2P.net
偶数の場合は半分に、奇数の場合は3倍して1加算して結果が1になるまでその数値を出力してください。
1まで出力して完了です。
単純だけど、どこまで短く書ける?
935:デフォルトの名無しさん
19/11/03 00:36:48.03 ZBjdhNSI.net
>>909
コラッツ予想はもうおなかいっぱいだわ
936:デフォルトの名無しさん
19/11/03 12:57:12.82 ax9Okew1.net
コラッて怒れば良いんじゃないかな
937:デフォルトの名無しさん
19/11/03 13:57:01.56 mZU6qafh.net
>>909
URLリンク(ideone.com)
C++。ショートコーダじゃないから短めに書いて、24行。
938:デフォルトの名無しさん
19/11/03 15:49:54.73 kVBOYkVG.net
>>909
C#
URLリンク(ideone.com)
短く書こうとする気すらないw
939:デフォルトの名無しさん
19/11/03 18:50:15.71 6KV8hNPc.net
縦と横のサイズが与えられるのでアスペクト比を求めよ
940:デフォルトの名無しさん
19/11/03 20:03:15.96 PuBKYFzC.net
比は整数のみ?
941:デフォルトの名無しさん
19/11/03 21:50:08.17 rJL4Vpjg.net
>>899
別の入力値 (例えば@(1.7) * 5や@(1.5) * 14) を試してみたら出力値がおかしかったので修正。
function lg($x) {[Math]::log10($x)}
function pow($x, $y) {[Math]::pow($x, $y)}
function tetrconv($a)
{
$k = 1
foreach ($i in ($a.count - 1)..0) {
$k = pow $a[$i] $k
if ($k -gt 20) {break}
}
if ($i -ge 1) {$k *= lg $a[$i - 1]}
if ($i -ge 2) {$k += lg (lg $a[$i - 2])}
while ($k -gt 10) {
$k = lg $k
$i++
}
$b = @(10) * $i + [Math]::round($k, 3)
($a -join "^") + " = " + ($b -join "^")
}
tetrconv (@(3) * 6)
tetrconv (@(2.718) * 4 + 7.705)
tetrconv (5.0e+50, 6.0e+60, 7.0e+70, 8.0e+80, 9.0e+90)
tetrconv (@(1.1) * 5)
942:デフォルトの名無しさん
19/11/04 07:30:04.95 T8mOMaiU.net
お題:
m から n までの整数のうち、桁数字の和が s になるものをすべて列挙する
関数を書け。
具体的に:
1 から 100 までの整数のうち、桁数字の和が 12 になるものは、
39、48、57、66、75、84、93 である。
関数の実行例:
f(1, 100, 12) → [39, 48, 57, 66, 75, 84, 93]
943:デフォルトの名無しさん
19/11/04 10:20:33.30 xKwnPcPn.net
数列和好きだね これで何回目だ?
数列和求めて何か嬉しいのか? 簡易計算ミスを防げるとか
944:デフォルトの名無しさん
19/11/04 10:51:39.60 FzGFhotx.net
>>917 perl
なんの捻りもない
use List::Util qw(sum);
print join",",(grep{sum(split//)==12}(1..100));
945:デフォルトの名無しさん
19/11/04 12:37:41.26 7wrIz40y.net
>>918
数列和?
いきなりオレオレ用語で語られても困るw
946:デフォルトの名無しさん
19/11/04 14:30:03.94 obVJwnOe.net
>>917
URLリンク(ideone.com)
C++。割といつも通りという感じ。
947:デフォルトの名無しさん
19/11/04 19:33:38.63 xKwnPcPn.net
タイポ
数字和 >744 などにでてくるやつ
948:デフォルトの名無しさん
19/11/04 19:35:11.53 6jo2x8my.net
>>917
PowerShellで単純に書けば
function f($a, $b, $s) {$a..$b |? {(iex ([char[]]"$_" -join "+")) -eq $s}}
f 1 100 12
だが、桁が増えると遅すぎるので、少し工夫すると、
$M = [Math]
function g($s, $n)
{
if ($n -eq 1) {return $s}
$d = $M::pow(10, $n - 1)
for ($i = $M::max(0, $s - 9 * ($n - 1)); $i -le $M::min(9, $s); $i++) {
g ($s - $i) ($n - 1) |% {$d * $i + $_}
}
}
function f($a, $b, $s)
{
g $s ($M::ceiling($M::log10($b))) |? {$_ -ge $a -and $_ -le $b}
}
f 1 10000000 12
949:デフォルトの名無しさん
19/11/04 19:36:29.94 6jo2x8my.net
7桁まではまあまあだが8桁以上だと遅いので、Cで書き換えると9桁でも瞬時に終わった。
(出力をファイルにリダイレクトした場合)。Visual Studioでは動作するが、
ideone.comでは変なコンパイラエラーが発生する。
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void g(int a, int b, int s, int n, int t, int x)
{
int d, i;
if (n == 0) {
if (t == s && x >= a && x <= b) printf("%d\n", x);
} else {
for (d = i = 1; i < n; i++) d *= 10;
for (i = max(0, (s - t) - 9 * (n - 1)); i <= min(9, s - t); i++) {
g(a, b, s, n - 1, t + i, d * i + x);
}
}
}
void f(int a, int b, int s)
{
g(a, b, s, ceil(log10(b)), 0, 0);
}
int main(void)
{
f(1, 1000000000, 12);
return 0;
}
950:デフォルトの名無しさん
19/11/05 01:53:14.53 gnRgB6kn.net
>>909
Kotlin
URLリンク(paiza.io)
肝心な部分は短いよな・・・
951:デフォルトの名無しさん
19/11/05 20:14:32.31 e+hxAdfR.net
お題:グラフの最長距離探索プログラムを作りなさい。分からなければダイクストラの最短距離探索プログラムを改造して作りなさい。
952:デフォルトの名無しさん
19/11/05 20:40:24.45 3L71zPwH.net
>>926
全探索になるから辛い。
X以上になったら打ち切りとかできないし、枝がX個以上なら切るとかもできない。
953:デフォルトの名無しさん
19/11/05 21:02:19.16 3L71zPwH.net
枝じゃなかった。支点だった。
954:デフォルトの名無しさん
19/11/05 22:48:36.11 4YhU7TUN.net
>>917
Common Lisp
(defun f (m n s)
(print (loop for i from m to n
if (= s (loop for (j k) = (multiple-value-list (floor i 10)) then (multiple-value-list (floor j 10))
sum k
until (zerop j)))
collect i)))
(f 1 100 12)
955:デフォルトの名無しさん
19/11/07 19:42:24.48 wJeAdMrJ.net
>>917
Kotlin
URLリンク(paiza.io)
ひねりなし。
956:デフォルトの名無しさん
19/11/07 22:47:28.91 Iq2Mem9/.net
>>924を読み返してみたら、1変数減らしてすっきりさせられることに気付いた。
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void g(int a, int b, int r, int n, int x)
{
int d, i;
if (n == 0) {
if (r == 0 && x >= a && x <= b) printf("%d\n", x);
} else {
d = pow(10, n - 1);
for (i = max(0, r - 9 * (n - 1)); i <= min(9, r); i++) {
g(a, b, r - i, n - 1, d * i + x);
}
}
}
void f(int a, int b, int s)
{
g(a, b, s, ceil(log10(b)), 0);
}
int main(void)
{
f(1, 1000000000, 12);
return 0;
}
957:デフォルトの名無しさん
19/11/10 21:37:46.78 OK7x/7YO.net
文字コードがシフトJISでもUnicodeでも3つ以上の連番となる文字列(最長一致)を、
コード範囲とともにすべて表示せよ。例えば、それらのうちの1つに関する表示は、
824F..8258
FF10..FF19
01234566789
となる。なお、シフトJISには機種依存文字を含んで構わない。
958:デフォルトの名無しさん
19/11/10 21:57:20.43 uvNl/
959:eaa.net
960:デフォルトの名無しさん
19/11/10 22:09:53.56 OK7x/7YO.net
>>933
それも機種依存で構わない。規格上の厳密さにこだわる必要はない。
961:デフォルトの名無しさん
19/11/10 23:26:27.72 EkgZPBq1.net
>>932 Java
URLリンク(ideone.com)
これでいいのけ?
962:デフォルトの名無しさん
19/11/11 00:44:57.23 VmjibYtT.net
バイナリファイルの高速コンペア
963:デフォルトの名無しさん
19/11/11 18:33:43.09 KK646YuM.net
>>936
メモリに二つとも呼んでfor回す。意外は難しい気がする。
964:デフォルトの名無しさん
19/11/11 19:03:14.97 KK646YuM.net
>>917
URLリンク(ideone.com)
C++。一回解いたけど再考して配列一個潰した。
5秒で5000万位解けそう??
965:デフォルトの名無しさん
19/11/11 22:23:08.18 ySONYK72.net
>>936
単に一致不一致だけわかればいいのか?
とか
コンペアするファイルは2つだけなのか?
とか
単に2つのファイルの一致不一致を見るだけなら基本>>937の言う通りだと思う
966:デフォルトの名無しさん
19/11/11 22:37:18.90 hxYpUSvR.net
>>935
正解。Windowsには機種依存文字
8754..875D
2160..2169
ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ
などもあるが、機種依存文字を含んでも構わないという出題だったので、
含まなくてもOK。
967:デフォルトの名無しさん
19/11/12 05:31:26.51 oeG9wEYf.net
お題
スレ立てるまでもない質問はここで 152匹目
スレリンク(tech板)
の3番の問題を勝手に解く
968:デフォルトの名無しさん
19/11/12 12:11:13.05 BJKXTHw+.net
>>940 Java
URLリンク(ideone.com)
>>935からCharasetをShift-JISからx-SJIS_0213に変えただけ (Windowsだとx-MS932_0213のほう?)
Shift-JISだと古いやつなんやな
969:デフォルトの名無しさん
19/11/12 21:37:48.42 +gLjUv3x.net
>>941
処理データ量が少なく計算効率を考慮しなくて良いなら、Rで簡潔に書ける。
URLリンク(ideone.com)
効率が求められるなら、Cで二分探索の変形版だな。
URLリンク(ideone.com)
970:デフォルトの名無しさん
19/11/12 22:38:04.89 SyoIDDRx.net
windowsのロングパス対応の重複ファイル検索するコードない?
971:デフォルトの名無しさん
19/11/13 04:07:44 eXHRJefh.net
>>941 Pharo/Squeak Smalltalk
| fn |
fn := [:m |
| table |
table := #(98 100 198 200 250 298).
table detectMin: [:x | (x - m) abs]
].
fn value: 50. "=> 98 "
fn value: 195. "=> 198 "
972:デフォルトの名無しさん
19/11/13 14:07:45.70 9sxFrKBI.net
>>941
URLリンク(ideone.com)
C++。多分動いてるけど、境界線系のエラーハンドリングは適当。
973:デフォルトの名無しさん
19/11/13 15:30:27.12 EqcpRCSG.net
どう考えても線形探索の方が簡単で速い
1回だけなら
974:デフォルトの名無しさん
19/11/13 18:24:57.67 utJBi2wY.net
>>941 Lua
function f(a, x)
local res = a[1]
for i = 2, #a do
if math.abs(res - x) > math.abs(a[i] - x) then
res = a[i]
end
end
return res
end
975:
19/11/13 20:03:11.45 ESFhNQze.net
>>944
スレリンク(tech板:53番)
976:デフォルトの名無しさん
19/11/13 20:28:42.98 6mLuLK4e.net
>>941 octave
URLリンク(ideone.com)
977:デフォルトの名無しさん
19/11/13 20:40:25.65 H1DP2m/6.net
>>944
>>1002
978:デフォルトの名無しさん
19/11/13 20:48:13.08 CMaH4qd1.net
>>941
C++ならSTLのequal_rangeを使えば、二分探索のコードを自前で書かずに済む。
URLリンク(ideone.com)
この例の条件でしか判定しないなら、5つの定数値との比較にするのが一番簡単で
速そうだな。
URLリンク(ideone.com)
979:デフォルトの名無しさん
19/11/13 21:39:03.09 Fqkv69gY.net
なんで順番に5回も比較してんの?
980:デフォルトの名無しさん
19/11/13 21:47:59.14 kE3A4AyF.net
10回比較するわけにはいかないからでしょ
981:デフォルトの名無しさん
19/11/13 21:53:11.46 RzCRvdkP.net
まずは199との比較では?
あとは範囲を絞ったテーブルとか
int全てをカバーするテーブルも
intが32bitな64bit環境なら一応は可能
982:蟻人間
19/11/13 22:09:59.79 SHPlbPC2.net
お題: 自動塗り絵。
白地に黒い線で図形が描かれているモノクロ画像が与えられる。
白い領域をそれぞれ適当な単色で塗りつぶせ。可能ならOpenCVを使ってもいい。
983:デフォルトの名無しさん
19/11/13 22:51:59.05 RzCRvdkP.net
ペイントブラシ + スクリプト
で出来そう
984:デフォルトの名無しさん
19/11/13 23:03:48.70 CMaH4qd1.net
>>955
「一番速い」ではなく「一番簡単で速い」だからね。可読性とかバグの
混入しにくさとかも考えると、順番に5回比較するのが一番良いだろ。
特に URLリンク(mevius.2ch.net) への
回答としては、最も適している。
985:デフォルトの名無しさん
19/11/13 23:40:49.81 RzCRvdkP.net
一番速くもないし一番簡単でもない
一番「簡単で速い」?
簡単と速いは相反するので一番なんて無い
986:デフォルトの名無しさん
19/11/13 23:42:10.65 RzCRvdkP.net
凡人が安易に「一番」とか言わない方が良いよ
987:デフォルトの名無しさん
19/11/14 01:06:49.29 4AhPUV/Y.net
俺が一番
988:デフォルトの名無しさん
19/11/14 06:15:22.98 BnXMw1SX.net
>>941 Io
f:=method(a,x,
a map(v,list((v-x)abs,v))min last
)
d:=list(98,100,198,200,298)
f(d,120) println
実行結果
100
989:デフォルトの名無しさん
19/11/14 09:31:40.70 baSi3t2K.net
一番簡単で速いってなんだよ
一番簡単かつ一番速いなら一番速いって言えばいいだけだろ
ってC++の人かよ
990:デフォルトの名無しさん
19/11/14 12:32:18.21 WVE0j82D.net
一番に過剰反応してるみなさんwww
991:デフォルトの名無しさん
19/11/14 13:14:51.59 /NpdgKVA.net
一番とか最も適しているとか
頭が悪いやつが良く言うセリフ
992:デフォルトの名無しさん
19/11/14 13:27:39.39 isT1FYJS.net
それな
あと「頭悪いやつがよく言う」ってのも頭悪いやつよく言うセリフだわ
993:デフォルトの名無しさん
19/11/14 15:14:06.76 1CVvHcAw.net
>>941 python
URLリンク(ideone.com)
994:デフォルトの名無しさん
19/11/14 16:23:41.28 bZ2yXVXr.net
>>963
俺、よくmakehoge書いてる人だけど、その二分探査書いた人は別人。
偶に、俺じゃない人がC++書いてくことがある。
まぁ、俺も貢献度が高いかというと解らんけど。
995:デフォルトの名無しさん
19/11/14 22:16:17.11 ya/1xYDt.net
>>963
「一番簡単で速い」は「一番簡単」かつ「速い」という意味だよ。
一番簡単なコードを書いてみて充分に速ければ、さらに手を加える必要はないってこと。
昨今はCPUが速いので、簡単なコードをささっと書いて終わりにできる場合が多いし、
Cを使うまでもなくRやPythonなどでも実用に耐える。処理条件が変わって速度に
不満が生じたときだけ、書き直せば良い。
996:デフォルトの名無しさん
19/11/14 22:21:25.20 KjmBL3+S.net
配列をキャッシュに乗せるだけで早くなる
配列にするだけで早くなる
997:デフォルトの名無しさん
19/11/14 23:43:50.36 ya/1xYDt.net
>>970
>>941の最も近い値を求める処理(Aと呼ぶ)だけを複数回連続して行う場合はそうだが、
間に別の処理(Bと呼ぶ)がたくさん入る場合はキャッシュから外れるかも知れないし、
AよりもBの方で相対的にだいぶ長い時間がかかっているならば、Aを高速化する
意味はない。
Aを簡単に書き終え、Bを書き進めてプログラム全体を完成させ、各部分の実行時間を
デバッガで分析し、Aを高速化する必要があるか判定するのが効率的な開発方法。
必要なときだけAを書き直してみて、元のAと実行時間を比較し、顕著に速い場合だけ
採用する。あまり変わらない場合は元の
998:簡単な方に戻す。
999:デフォルトの名無しさん
19/11/15 06:08:37 /dDy1LQy.net
>>969
なぜ
一番簡単
だと思ったのか
1000:デフォルトの名無しさん
19/11/15 06:11:01 /dDy1LQy.net
中途半端に最適化するくらいなら
意味通りをそのまま記述した方が良いよ
トリッキーなマクロとか使わないで普通にループでいいし
1001:デフォルトの名無しさん
19/11/15 07:24:03.38 YlbiRAmO.net
>>941 J
f =: 4 : 0
{. x /: | x - y
)
a =: 98 100 198 200 250 298
a f 199
198
1002:デフォルトの名無しさん
19/11/15 08:39:52.88 zGnI3whh.net
>>491 python
整数の範囲を 1000000000 にして、リストのサイズをその1/10の 100000000 にしてやった物
URLリンク(ideone.com)
1003:デフォルトの名無しさん
19/11/15 08:46:57.30 pd2oXw5y.net
お題はどれ?
1004:デフォルトの名無しさん
19/11/15 10:34:11.71 zGnI3whh.net
>>975 は、>>941 のお題の間違い。
1005:デフォルトの名無しさん
19/11/15 10:34:39.11 kGxI2dsU.net
>>972
もっと簡単なのがあると言うなら提示すりゃいいだけ
1006:デフォルトの名無しさん
19/11/15 10:37:36.49 Dg2kwGpJ.net
そんなら一番簡単なんて言ったもん勝ちやんアホクサ
1007:デフォルトの名無しさん
19/11/15 11:19:40.93 y6ix6SXf.net
>>979
どういうこと?
1008:デフォルトの名無しさん
19/11/15 13:20:35.16 pd2oXw5y.net
発言者に証明責任がある
当たり前
1009:デフォルトの名無しさん
19/11/15 13:22:00.36 pd2oXw5y.net
簡単じゃない部分は書いたけどね
1010:デフォルトの名無しさん
19/11/15 13:25:38.61 pd2oXw5y.net
本当に一番簡単だと思ってるなら
非常に頭が弱い
というしかない
1011:デフォルトの名無しさん
19/11/15 16:04:20.43 y6ix6SXf.net
証明責任が
1012:デフォルトの名無しさん
19/11/15 18:45:17.65 YlbiRAmO.net
>>941 Ruby
def f(a,x)
a.min_by{|v|(v-x).abs}
end
1013:デフォルトの名無しさん
19/11/15 22:18:10.52 1XAUh39O.net
>>982
ひょっとして>>973か?
頓珍漢な指摘でドヤられても困るw
1014:デフォルトの名無しさん
19/11/16 07:59:12.18 PKd8UO5d.net
お前ちょっとしつこいよ
二人ともどっか行ってくれ
1015:デフォルトの名無しさん
19/11/16 09:38:56.12 R3eXoa4h.net
お題: 標準入力から読み取った文字列に対して変換候補の単語を表示するスクリプトを作れ
変換候補は URLリンク(www.cs.cmu.edu) のテキストを元にし、英文のみの対応とする
例:
in < on
out > ['on', 'once', 'one', 'only']
in < we
out > ['well', 'went', 'were']
1016:デフォルトの名無しさん
19/11/16 09:39:44.99 R3eXoa4h.net
>>988
URL訂正: URLリンク(www.cs.cmu.edu)
1017:10-11
19/11/16 11:43:03.30 nyexrMnj.net
Mathematica
ビットテーブル使ったからいまいち
f[x_]:=Round[Exp[x*49/2^9]*10]+Mod[BitShiftRight[8518656,x],2]
f[Range[0,23]]
{10,11,12,13,15,16,18,20,22,24,27,30,33,36,39,43,47,51,56,62,68,75,82,91}
1018:デフォルトの名無しさん
19/11/16 13:01:44.00 9Ne+J8hx.net
>>988-989 PowerShell
$Words = ([RegEx]"\w+").Matches((Invoke-WebRequest 'URLリンク(www.cs.cmu.edu)').Content) | Select-Object -ExpandProperty 'Value' | Sort-Object -Unique
'on', 'we' | %{ "'$_' => ['$($Words -cmatch "^$_.*$" -join ''', ''')']" }
--
'on' => ['on', 'once', 'one', 'only']
'we' => ['well', 'went', 'were']
1019:蟻人間
19/11/16 14:12:37.63 wI2tFyzM.net
そろそろ次スレ
1020:デフォルトの名無しさん
19/11/16 20:00:42.94 ycfnvugG.net
>>987
誤解がないように一応言っておくが、同一人物なのは943, 952, 958, 969, 971, 993だけで、
978や986は別人ね。
1021:デフォルトの名無しさん
19/11/16 20:11:13.21 SjIOWxyj.net
どうでもいい
匿名掲示板
1022:デフォルトの名無しさん
19/11/16 22:09:51.31 ByTTIV4m.net
>>988
@Mathematica
URLリンク(ideone.com)
1023:デフォルトの名無しさん
19/11/17 09:01:36.94 xqEdXdr6.net
次スレ
プログラミングのお題スレ Part16
スレリンク(tech板)
1024:990
19/11/17 15:37:45.58 WMPUR+bY.net
BitGet使うんだった(Mathematicaに慣れてないのばればれ)
(* 49/2^9 = 0.095703125 *)
f[x_]:=Round[Exp[x*0.095703125]*10]+BitGet[8518656,x]
もう少し頑張っても16ビット以内にビットテーブルは縮小出来ず…。
(* 785/2^13 = 0.0958251953125 *)
f[x_]:=Round[Exp[x*0.0958251953125]*10]+BitGet[130048,x]
1025:デフォルトの名無しさん
19/11/21 12:06:42.30 p+kY48sO.net
>>941 julia
a=[98,100,198,200,250,298]
f(a,x)=a[argmin(map(abs ,a.-x))]
f(a,50)
1026:デフォルトの名無しさん
19/11/21 17:12:54.10 x85mexbT.net
>>988-989 Squeak Smalltalk。関数で。
| contents words fn |
contents := (HTTPClient httpGet: 'URLリンク(www.cs.cmu.edu)') contents.
words := (contents replaceAll: Character lf with: Character space; asTextFromHtml) asString subStrings: ' !"''()*,-.:;?`'.
words := words asSet asSortedArray.
fn := [:in | words select: [:word | word beginsWith: in]].
fn value: 'on'. "=> #('on' 'once' 'one' 'only') "
fn value: 'we'. "=> #('well' 'went' 'were') "
"for Pharo => URLリンク(ws.stfx.eu) "