プログラミングのお題スレです。
【出題と回答例】
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
>>789
どういうところが「頭がおかしい」と思ったのですか?
どういうところが「頭がおかしい」と思ったのですか?
791デフォルトの名無しさん
2019/10/17(木) 01:44:31.12ID:QhHbr34y >>790
周囲が迷惑している行為や的外れで頓珍漢な言動をした際にそれを指摘しても、分からないから具体的に言えという。普通の人からすれば明らかな場合であろうと。
そして具体的に説明しても、自分はそう感じないから理解しない、納得しないと言い、言動を改めない。
本人の中では論理的整合性がとれた言動なのかも知れないが、周囲からすれば会話ができない困った奴に見える。
周囲が迷惑している行為や的外れで頓珍漢な言動をした際にそれを指摘しても、分からないから具体的に言えという。普通の人からすれば明らかな場合であろうと。
そして具体的に説明しても、自分はそう感じないから理解しない、納得しないと言い、言動を改めない。
本人の中では論理的整合性がとれた言動なのかも知れないが、周囲からすれば会話ができない困った奴に見える。
792デフォルトの名無しさん
2019/10/17(木) 02:01:41.77ID:Wp46MCu9 朝鮮人に特有な行為だね
793デフォルトの名無しさん
2019/10/17(木) 02:18:55.29ID:E+5qu981 他人の迷惑考えずこんなの貼っちゃう奴だしな
848 ◆QZaw55cn4c sage 2019/07/20(土) 08:18:17.29 ID:jbjCUWIF
お題と回答
5 : 6 10 32 36 44
9 : 15 34 35 79
まんま>>791に該当するわ
848 ◆QZaw55cn4c sage 2019/07/20(土) 08:18:17.29 ID:jbjCUWIF
お題と回答
5 : 6 10 32 36 44
9 : 15 34 35 79
まんま>>791に該当するわ
794デフォルトの名無しさん
2019/10/17(木) 09:29:19.87ID:yTQXhZUg 複素数の多価関数を何度説明しても理解してなかったし脳に欠陥があるのだろう
795デフォルトの名無しさん
2019/10/17(木) 12:35:29.92ID:MLKesy/P 多価関数を理解できなかったのかwww
じゃあリーマン面も分からないだろうな
そんな状態で一丁前に「留数定理」とのたまうから頭おかしい
じゃあリーマン面も分からないだろうな
そんな状態で一丁前に「留数定理」とのたまうから頭おかしい
796デフォルトの名無しさん
2019/10/17(木) 16:53:38.74ID:H8l94EK2798デフォルトの名無しさん
2019/10/17(木) 20:10:25.04ID:Fo0iAhjp >>797
あれだけ明瞭な説明を受けて理解できないどころかはぐらかされたと感じるならばお前は脳の病気だな
あれだけ明瞭な説明を受けて理解できないどころかはぐらかされたと感じるならばお前は脳の病気だな
799デフォルトの名無しさん
2019/10/17(木) 22:10:55.40ID:lFPJOlZz 5chなんて無駄にマウント取るやつばっかりだから、コテつけてごちゃごちゃ言っても時間の無駄だぞ
袋叩きにあうだけ
袋叩きにあうだけ
800デフォルトの名無しさん
2019/10/18(金) 01:24:53.30ID:RRRrLQ0r 自演擁護乙。
801蟻人間 ◆T6xkBnTXz7B0
2019/10/18(金) 23:48:51.61ID:981JMrNY 気を取り直していくぞ。
お題: 現在時刻のアナログ時計のSVG画像を出力せよ。丸い外枠と短針と長針だけでいいが、可能なら秒針と文字盤も表示せよ。
お題: 現在時刻のアナログ時計のSVG画像を出力せよ。丸い外枠と短針と長針だけでいいが、可能なら秒針と文字盤も表示せよ。
802デフォルトの名無しさん
2019/10/19(土) 02:49:07.69ID:PZMkyc4n 暇な人向けのお題:なるべく公正な多数決システムを考案せよ。
サンプル:https://ideone.com/Ayr1Az
上記は多数決して、3人サンプルして、じゃんけんする。というプロセスで導き出される。
サンプル:https://ideone.com/Ayr1Az
上記は多数決して、3人サンプルして、じゃんけんする。というプロセスで導き出される。
803デフォルトの名無しさん
2019/10/19(土) 18:44:38.13ID:PZMkyc4n 暇な人向けのお題II!
9x9のセルが与えられる。そのセルは磁石である。
真空状態での磁気シミュレーションをして量子コンピュータに近似せよ。
一つの万能ではない方針。
1パス目で相互作用を足し込む。
2パス目で相互作用の蓄積を作用素数で割る。
ライフゲームがヒントになるかもしれない。
9x9のセルが与えられる。そのセルは磁石である。
真空状態での磁気シミュレーションをして量子コンピュータに近似せよ。
一つの万能ではない方針。
1パス目で相互作用を足し込む。
2パス目で相互作用の蓄積を作用素数で割る。
ライフゲームがヒントになるかもしれない。
804デフォルトの名無しさん
2019/10/19(土) 18:45:19.24ID:PZMkyc4n >>803
なお、自分は物理学も数学も素人である。。。Orz
なお、自分は物理学も数学も素人である。。。Orz
805デフォルトの名無しさん
2019/10/21(月) 08:37:49.94ID:HKPBZHRe お題
入力された正整数を漢数字表記にして出力せよ
10の何乗まで対応するかは任せる
514 -> 五百十四
131072 -> 十三万千七十二
90010 -> 九万十
入力された正整数を漢数字表記にして出力せよ
10の何乗まで対応するかは任せる
514 -> 五百十四
131072 -> 十三万千七十二
90010 -> 九万十
806デフォルトの名無しさん
2019/10/21(月) 09:41:08.94ID:5iZNWaQ2 >>805 python
%pip install kanjize
from kanjize import int2kanji, kanji2int
print(int2kanji(123456789))
# 一億二千三百四十五万六千七百八十九
%pip install kanjize
from kanjize import int2kanji, kanji2int
print(int2kanji(123456789))
# 一億二千三百四十五万六千七百八十九
807デフォルトの名無しさん
2019/10/21(月) 09:45:18.93ID:HKPBZHRe >>806
そんなのあるのか…
そんなのあるのか…
808デフォルトの名無しさん
2019/10/21(月) 13:26:32.49ID:Yxovtd3S perlの時代には既に存在した
809デフォルトの名無しさん
2019/10/21(月) 13:31:36.37ID:W7vxtZcq じゃあunicodeにシュメル文字が収録されたので、それで。
フフフ、ライブラリなんてあるまい
フフフ、ライブラリなんてあるまい
810デフォルトの名無しさん
2019/10/21(月) 13:35:10.39ID:ZDMJHUdn >>809 Python
%pip install sumerianize
from fumerianize import int2sumerian, sumerian2int
print(int2sumerian(123456789))
# ????????????????????????
%pip install sumerianize
from fumerianize import int2sumerian, sumerian2int
print(int2sumerian(123456789))
# ????????????????????????
811デフォルトの名無しさん
2019/10/21(月) 13:39:33.90ID:n9VxwF2L あんのかよワロタw
812デフォルトの名無しさん
2019/10/21(月) 13:45:48.07ID:qqa/WroJ 逆も欲しいな
漢数字を入れるとアラビア数字に変換するプログラム
漢数字を入れるとアラビア数字に変換するプログラム
813デフォルトの名無しさん
2019/10/21(月) 13:49:33.49ID:BDK5iYLM 表示できてなくて笑う
814デフォルトの名無しさん
2019/10/21(月) 13:50:52.74ID:hy8thByE815デフォルトの名無しさん
2019/10/21(月) 16:23:33.20ID:5iZNWaQ2 >>813 表示できていないのは見る人がフォントを入れていないからだろ。 不思議でも何でもない。
816デフォルトの名無しさん
2019/10/21(月) 16:37:23.10ID:lI38JOob817デフォルトの名無しさん
2019/10/21(月) 17:22:20.45ID:Yxovtd3S818デフォルトの名無しさん
2019/10/21(月) 20:27:05.91ID:niRnsl0k 実はcpanからお題を決めてるんじゃないかなというのがしばらく続いてたと思う
819デフォルトの名無しさん
2019/10/21(月) 22:35:38.51ID:9OcWZn69 ローマ数字との変換、は簡単か
820デフォルトの名無しさん
2019/10/21(月) 22:41:08.96ID:tcnN+Hr+ 何回か出てる。
821デフォルトの名無しさん
2019/10/21(月) 23:57:16.86ID:PlH6WJHg 適当な整数を入力してそれが円周率の何桁目で出てくるか出力せよ。
何桁まで対応するかは任せる。
何桁まで対応するかは任せる。
822デフォルトの名無しさん
2019/10/22(火) 00:08:15.75ID:TSqT/b7n perl だと m/digit/p からの $^{prematch} とかだな
823デフォルトの名無しさん
2019/10/22(火) 12:07:39.33ID:rZX4V0+4 >>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 桁目
$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 桁目
824デフォルトの名無しさん
2019/10/22(火) 12:11:07.49ID:wZUXcjF6 あきらかにNP問題だから解く気がしねえ
825デフォルトの名無しさん
2019/10/22(火) 12:40:06.09ID:E1qN728j じゃあNP問題だと証明しろよ
826デフォルトの名無しさん
2019/10/22(火) 13:54:00.39ID:rZX4V0+4827デフォルトの名無しさん
2019/10/22(火) 16:09:06.09ID:0ZM3PvBa >>825
キチガイすぎて草
キチガイすぎて草
828デフォルトの名無しさん
2019/10/22(火) 19:15:47.41ID:/ue0mcGS ぬるぽ問題
829デフォルトの名無しさん
2019/10/22(火) 19:35:05.18ID:JpCkwFny じゃあそれにしよう。
適当な文章を入力して縦横斜めにぬるぽの3文字が入っていればガッと出力する。
ひらがなだけにするかそれ以上の対応をするかは任せる。
適当な文章を入力して縦横斜めにぬるぽの3文字が入っていればガッと出力する。
ひらがなだけにするかそれ以上の対応をするかは任せる。
830デフォルトの名無しさん
2019/10/22(火) 23:37:52.31ID:0ZM3PvBa >>829 Python
%pip install nurupo
from nurupo import nurupofield
if nurupofield("ぬるぽ")
print("ガッ")
# ガッ
%pip install nurupo
from nurupo import nurupofield
if nurupofield("ぬるぽ")
print("ガッ")
# ガッ
831デフォルトの名無しさん
2019/10/23(水) 00:32:58.65ID:65oBAktI pythonなんでも揃ってんな・・・
832デフォルトの名無しさん
2019/10/23(水) 20:25:56.13ID:LcbXQT4h お題:整数配列の奇数要素のみをソートした配列を返す処理を書いてください
入力例:[6, 5, 4, 3, 2, 1]
出力例:[6, 1, 4, 3, 2, 5]
入力例:[6, 5, 4, 3, 2, 1]
出力例:[6, 1, 4, 3, 2, 5]
833デフォルトの名無しさん
2019/10/23(水) 20:53:09.53ID:oBmkNBH8834デフォルトの名無しさん
2019/10/23(水) 20:53:23.91ID:65oBAktI 奇数だけ抜き出した配列作成→ソート→元の配列の奇数の位置にソートした配列の要素を入れてくだけで良さそう
835デフォルトの名無しさん
2019/10/23(水) 20:54:52.29ID:oBmkNBH8 あ、ダメだこれw
失礼しました
失礼しました
836833
2019/10/23(水) 21:05:23.34ID:oBmkNBH8837デフォルトの名無しさん
2019/10/23(水) 22:37:14.26ID:PSSarBFK >>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)
@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)
838デフォルトの名無しさん
2019/10/24(木) 08:28:31.82ID:5RTZY+Zo839デフォルトの名無しさん
2019/10/24(木) 09:51:33.40ID:76TAYxNw >>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]
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]
840デフォルトの名無しさん
2019/10/24(木) 09:51:53.30ID:76TAYxNw >>839 Ruby 2.6.0
841デフォルトの名無しさん
2019/10/24(木) 12:04:34.69ID:yRKIAYVV >>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]
[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]
842デフォルトの名無しさん
2019/10/24(木) 15:41:34.92ID:gElHX+jG >>832
Kotlin
https://paiza.io/projects/RXWCx9-WsZvakBKGgIo1UA
やり方は >>834 に書かれている通り。
しかし、もっとスマートな方法はないものか?
ありそうだが思い浮かばない。
Kotlin
https://paiza.io/projects/RXWCx9-WsZvakBKGgIo1UA
やり方は >>834 に書かれている通り。
しかし、もっとスマートな方法はないものか?
ありそうだが思い浮かばない。
843デフォルトの名無しさん
2019/10/24(木) 16:54:57.81ID:ZpMPcQ0n844デフォルトの名無しさん
2019/10/24(木) 21:24:20.41ID:YtgvOVKx845デフォルトの名無しさん
2019/10/24(木) 23:20:25.74ID:33G0+sWg >>838
さすがJニキ、さっぱりわからん…
さすがJニキ、さっぱりわからん…
846デフォルトの名無しさん
2019/10/25(金) 00:26:52.21ID:GgLEjF73 アプリ作成したいのですが、素人なのでどなたか相談に乗ってください。
飲み物が入ったコップを定期的に重量を量り、
そのデータを無線で受信してサーバーで記録し
プロットするアプリを作りたいです。
またRaspiなどのPCはなしで作りたいのですが
組み込みPC?を使わないとできませんか?
またこういったアプリに適した言語などありますでしょうか?
飲み物が入ったコップを定期的に重量を量り、
そのデータを無線で受信してサーバーで記録し
プロットするアプリを作りたいです。
またRaspiなどのPCはなしで作りたいのですが
組み込みPC?を使わないとできませんか?
またこういったアプリに適した言語などありますでしょうか?
847デフォルトの名無しさん
2019/10/25(金) 00:32:12.57ID:D+sRag4r プログラム部分はたいしたことがないとおもうのだが
装置、ハードのほうが大事だろ
そもそもプログラムもハード依存するかもしれないし
特に既成品なら
装置、ハードのほうが大事だろ
そもそもプログラムもハード依存するかもしれないし
特に既成品なら
848デフォルトの名無しさん
2019/10/25(金) 00:48:27.50ID:GgLEjF73 ありがとうございます。
ハードウェアの知識が全く無いため困っています。
飼い猫のために水の量を管理してあげたいんです。
下記のような組み合わせで出来そうでしょうか?
ADコンバータ
KKHMF HX711モジュール 秤量センサー 24位精度ADモジュール 圧力センサーモジュール
重量センサー
uxcell 計量ロードセル アルミ合金材質 500g計量 電子天秤 有線 計量センサー
ハードウェアの知識が全く無いため困っています。
飼い猫のために水の量を管理してあげたいんです。
下記のような組み合わせで出来そうでしょうか?
ADコンバータ
KKHMF HX711モジュール 秤量センサー 24位精度ADモジュール 圧力センサーモジュール
重量センサー
uxcell 計量ロードセル アルミ合金材質 500g計量 電子天秤 有線 計量センサー
849デフォルトの名無しさん
2019/10/25(金) 03:57:48.67ID:uJcHRouN やり方わからないんだけど、カメラで撮影して映像解析して量が分かるのであればスマホやタブレット用のアプリでできそうだよね。
(PCに小さいカメラ付けても良いが)。
(PCに小さいカメラ付けても良いが)。
850デフォルトの名無しさん
2019/10/25(金) 04:08:18.02ID:rztx2iSz >>848
適切なスレに移動した方がいいぞ
適切なスレに移動した方がいいぞ
851デフォルトの名無しさん
2019/10/25(金) 09:43:45.15ID:C/odSq3f センサーの話題などは、Linux 板のラズパイのスレで聞けば?
852デフォルトの名無しさん
2019/10/25(金) 09:56:31.28ID:VVjeWd6A853デフォルトの名無しさん
2019/10/25(金) 11:49:06.01ID:C/odSq3f >>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
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
854デフォルトの名無しさん
2019/10/25(金) 12:30:51.02ID:GgLEjF73 >> 849 , 850, 851, 852
情報ありがとうございます。
スレチだったみたいで申し訳ないです。
センサーありきなので、Raspiは使わないと思うのですが
板覗いてみます。
情報ありがとうございます。
スレチだったみたいで申し訳ないです。
センサーありきなので、Raspiは使わないと思うのですが
板覗いてみます。
855デフォルトの名無しさん
2019/10/25(金) 14:59:52.83ID:ylwTeYJx856デフォルトの名無しさん
2019/10/26(土) 01:38:30.03ID:o5w2ifn2 お題: 端末上で(´・ω・`)を端から端まで移動し、往復させよ
ただし、端についたら(´・ω・`)は増幅し(´・ω・`)(´・ω・`)になる
同様に再び端についたら(´・ω・`)(´・ω・`)は増幅し(´・ω・`)(´・ω・`)(´・ω・`)になる
左右に移動できなくなる又ははみ出す場合は逆に(´・ω・`)を減らしていき、最終的に(´・ω・`)を消滅させよ
ただし、端についたら(´・ω・`)は増幅し(´・ω・`)(´・ω・`)になる
同様に再び端についたら(´・ω・`)(´・ω・`)は増幅し(´・ω・`)(´・ω・`)(´・ω・`)になる
左右に移動できなくなる又ははみ出す場合は逆に(´・ω・`)を減らしていき、最終的に(´・ω・`)を消滅させよ
857デフォルトの名無しさん
2019/10/26(土) 06:24:17.44ID:2eoY+VbT お題: Unicode 1 文字を与えると East Asian Width に従った属性値を返す関数を作成し、その関数に対して任意の文字を与えてテストするプログラムを作れ。
返す属性値の F, H, W, Na, A, N は文字列でも良いし対応する数値でも良いし enum のような(またはCなら #define されている)名前でも良い。
East Asian Width の一覧は下記URLのテキストの内容を使用する。これを最初に読んで初期化するように作っても良いし、最初からプログラムに適した形式で埋め込まれていても良い。
http://www.unicode.org/Public/UCD/latest/ucd/EastAsianWidth.txt
参考: 東アジアの文字幅
https://ja.wikipedia.org/wiki/%E6%9D%B1%E3%82%A2%E3%82%B8%E3%82%A2%E3%81%AE%E6%96%87%E5%AD%97%E5%B9%85
返す属性値の F, H, W, Na, A, N は文字列でも良いし対応する数値でも良いし enum のような(またはCなら #define されている)名前でも良い。
East Asian Width の一覧は下記URLのテキストの内容を使用する。これを最初に読んで初期化するように作っても良いし、最初からプログラムに適した形式で埋め込まれていても良い。
http://www.unicode.org/Public/UCD/latest/ucd/EastAsianWidth.txt
参考: 東アジアの文字幅
https://ja.wikipedia.org/wiki/%E6%9D%B1%E3%82%A2%E3%82%B8%E3%82%A2%E3%81%AE%E6%96%87%E5%AD%97%E5%B9%85
858デフォルトの名無しさん
2019/10/26(土) 07:11:59.41ID:I0XoRu/q お題:>>832 に「偶数要素は2で割って降順ソート」という要件を追加してください
すでに回答済みの場合は最少限の変更でのご対応で腕(もしくは言語のポテンシャル)を見せてください
すでに回答済みの場合は最少限の変更でのご対応で腕(もしくは言語のポテンシャル)を見せてください
859デフォルトの名無しさん
2019/10/26(土) 07:27:04.95ID:I0XoRu/q860デフォルトの名無しさん
2019/10/26(土) 11:01:29.07ID:/Rj6VhaF >>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) "
| 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) "
861デフォルトの名無しさん
2019/10/26(土) 11:03:35.88ID:/Rj6VhaF862デフォルトの名無しさん
2019/10/26(土) 11:45:52.80ID:4aRwI3hq >>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)
@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)
863デフォルトの名無しさん
2019/10/26(土) 12:12:03.02ID:Zgyrlv2c864デフォルトの名無しさん
2019/10/26(土) 12:22:15.14ID:GFiKSQ9h >>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
}
}
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
}
}
865デフォルトの名無しさん
2019/10/26(土) 13:49:47.32ID:f6JeNzn+ 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}
定義
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}
866デフォルトの名無しさん
2019/10/26(土) 17:08:24.41ID:kYj2w42l >>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]
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]
867デフォルトの名無しさん
2019/10/26(土) 20:25:43.01ID:XXeS+kK0868デフォルトの名無しさん
2019/10/26(土) 22:02:49.24ID:+YWUVQNg >>856
https://ideone.com/lw7uIj
C++。なんか表示位置ずれるなーと思ったら、「()」これ半角じゃねーか。
そのせいで、プログラムが持ってる長さと表示の長さが合わなかった。
しかし、汚くなった無し、思ったより時間がかかってしまった。
https://ideone.com/lw7uIj
C++。なんか表示位置ずれるなーと思ったら、「()」これ半角じゃねーか。
そのせいで、プログラムが持ってる長さと表示の長さが合わなかった。
しかし、汚くなった無し、思ったより時間がかかってしまった。
869デフォルトの名無しさん
2019/10/26(土) 22:16:30.14ID:FFSD3o8O >>858 octave
https://ideone.com/d5NTlm
>>858 ruby
https://ideone.com/R93NWY
>>858 ocaml
https://ideone.com/RTlP5X
https://ideone.com/d5NTlm
>>858 ruby
https://ideone.com/R93NWY
>>858 ocaml
https://ideone.com/RTlP5X
870デフォルトの名無しさん
2019/10/26(土) 22:21:47.70ID:+YWUVQNg871蟻人間 ◆T6xkBnTXz7B0
2019/10/26(土) 22:38:02.04ID:Q5f3+aYX お題: あるフォルダ(例えばC:\Windows)についてフォルダの階層構造を木構造(tree)を表すテキストとして出力せよ。
インデントでもいい。罫線を使ってもいい。
インデントでもいい。罫線を使ってもいい。
872デフォルトの名無しさん
2019/10/26(土) 22:38:38.76ID:T/HAOzs9 tree
873デフォルトの名無しさん
2019/10/26(土) 22:46:14.97ID:a/Ne+y1n 完
874蟻人間 ◆T6xkBnTXz7B0
2019/10/26(土) 23:33:25.57ID:0HLEEd3+ 熟
875デフォルトの名無しさん
2019/10/26(土) 23:36:46.58ID:Up+ppHZL ト
876デフォルトの名無しさん
2019/10/26(土) 23:56:14.95ID:mT+r0MIT マ
877デフォルトの名無しさん
2019/10/27(日) 01:42:02.89ID:98GTxTrH ホ
878デフォルトの名無しさん
2019/10/27(日) 01:48:49.90ID:hTxWtEZY ー
879デフォルトの名無しさん
2019/10/27(日) 02:14:55.86ID:qZK0Jir5 ク
880デフォルトの名無しさん
2019/10/27(日) 12:00:30.73ID:czi1K5eV >>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 ", ") + "]"
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 ", ") + "]"
881デフォルトの名無しさん
2019/10/27(日) 21:46:52.77ID:JAeIkS65882デフォルトの名無しさん
2019/10/28(月) 14:33:15.95ID:kjzN6NI8883デフォルトの名無しさん
2019/10/28(月) 21:54:57.80ID:UPe4TNxT 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))
>>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))
884蟻人間 ◆T6xkBnTXz7B0
2019/10/28(月) 22:20:53.11ID:9dus/Ppg885デフォルトの名無しさん
2019/10/28(月) 22:33:53.27ID:cHOU2eIF >>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"
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"
886デフォルトの名無しさん
2019/10/28(月) 23:08:40.85ID:F/Wh8ChL >>884
100年前からあるよ
100年前からあるよ
887デフォルトの名無しさん
2019/10/28(月) 23:13:15.22ID:uBs49FGp 色わけもされているのが良くあり、たいへん見やすい
888蟻人間 ◆T6xkBnTXz7B0
2019/10/29(火) 01:01:17.43ID:CdNgVa0z お題: 平面(0, 0)-(100,100)上に点を100個、配置する。k-means法を用いて点の集合を3つのグループに分け、それらを図示せよ。
889デフォルトの名無しさん
2019/10/29(火) 08:42:30.06ID:CowX2GWO >>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? ? even_ary.shift : odd_ary.shift } # 偶数・奇数
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? ? even_ary.shift : odd_ary.shift } # 偶数・奇数
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【熊本】園児に強制性交か 保育所勤務の男を逮捕「性的な欲望が我慢できなかった」警察は余罪を調べる [七波羅探題★]
- 堀江貴文、キャッシュレス非対応の店にモヤッ 『PayPay』立ち上げの人物にまさかの直談判「現金決済しかできないんだけど…」 [冬月記者★]
- 【前橋市】小川晶前市長とラブホテルで打ち合わせをした54歳男性職員を停職処分 今月末で依願退職するという [シャチ★]
- 【おこめ券】鈴木農相 米価維持の意図「一切ない」★3 [ぐれ★]
- 日銀「歴史的」利上げ迫る 35年ぶりの年間上げ幅、0.5%の壁を突破 [蚤の市★]
- 【千葉】特養ホームで90歳女性を殴った疑い 女性は死亡 介護福祉士の男(48)傷害容疑で逮捕 成田市 [ぐれ★]
- 中国の日本向けレアアースの輸出止まる、高市のせいで日本終了のお知らせ [931948549]
- 高市早苗「竹島は日本領土」 [834922174]
- あくたんのおまんこって甘そうだよな🤤
- 今日初めてケンタッキー行ってきたんだけどさ
- ヨドバシ店員「転売対策です。エヴァに出てくるロボットの名前をどれかひとつ言ってください」 [268718286]
- 🏡
