プログラミングのお題スレ Part20at TECH
プログラミングのお題スレ Part20 - 暇つぶし2ch836:デフォルトの名無しさん
22/09/24 22:45:27.51 Fvr5cAu6.net
>>795
間違えた
⌊m×30.6⌋という関数は0,1,2,3,4,‥の時の値が
31,31,30,31,30
の繰り返し
件の公式のmの項はコレを一月分ずらしてる

837:デフォルトの名無しさん
22/09/28 02:17:31.98 UDkh+W3M.net
お題:4回呼び出したらその内の1回が失敗する関数を書け
失敗した場合は「failed」と表示、成功した場合は「ok」と表示せよ

838:デフォルトの名無しさん
22/09/28 09:47:46.29 +QlM3L0o.net
seed変数はパラメータ渡しで良いですか

839:デフォルトの名無しさん
22/09/28 19:05:59.31 WptV1D3q.net
>>797 c
URLリンク(ideone.com)
void f() {
static int i = 0, j, k = 4;
if (i == 0) j = rand() % k;
puts(i == j ? "failed" : "ok");
i = (i + 1) % k;
}

840:デフォルトの名無しさん
22/09/28 22:51:23.95 7XofIB3A.net
>>797 Ruby
def f
$f_cnt||=0
puts$f_cnt==3||(rand(4)==~-$f_cnt+=1)?:failed: :ok
end

841:デフォルトの名無しさん
22/09/30 04:16:06.13 F2zw9Wj+.net
>>797
Kotlin
URLリンク(paiza.io)
Int型1つ分のワークエリアを呼ぶ側から与えてそこでカウントして必ず4回の内1回が失敗になる。
乱数を使うと4回の内1回失敗ではなくなる可能性があるので使っていない。
引数としてInt型の参照を渡しても中身を変えられないのでIntArray(Java なら int[] に相当)で1要素作ってIntArrayの参照を渡している。
クラスでやっても良かったが、わざわざクラス作るほどのことでもないと思ったのでこの方式にした。

842:デフォルトの名無しさん
22/10/01 01:23:09.73 I5nFps2z.net
>>797
Java
URLリンク(paiza.io)

843:デフォルトの名無しさん
[ここ壊れてます] .net
お題: あみだ URLリンク(imgur.com)
画像のようなマス目の上に直線を引いたあみだを次のように表現することにします。
N: 縦線の本数(列数)
M: 橋が架けられている行数
B: M行N-1列の二次元配列で、橋が架けられていたら1、そうでない場合は0が格納されています。
あらかじめ、あみだの入力には左から0~N-1までの整数が割り振られていることにします。また、同じ行に橋が二つ連続で隣り合うことは禁止されています。
一応の制約: 2 <= N <= 100, 1 <= M <= 100
あみだに橋が1つも存在しない場合、M=1となり、Bは1行N-1列の大きさで、すべての要素が0の2次元配列になることにします。

お題1: N, M, Bが与えられるので、あみだの出力を求めてください。(入出力のフォーマットは各自で適宜変更してもいいです。)
入力例(画像のもの):
4
4
1 0 1
0 1 0
1 0 0
0 1 0
出力例:
3 0 1 2

お題2: Nとあみだの出力が与えられるので、Mをできるだけ小さくしたあみだを求め、Mと Bの一例 を表示してください。
入力例:
5
2 4 0 1 3
出力例:
3
0 1 0 1
1 0 1 0
0 1 0 0
あみだ関連のお題は過去スレで何回か見かけたがろくに相手にされていなかったのであげてみる。

844:デフォルトの名無しさん
22/10/10 00:03:47.74 Em47unOv.net
reduced expressionのまとめられる積を出来るだけまとめたものが必ず最短になるなら簡単なんだけどな

845:デフォルトの名無しさん
22/10/10 12:25:25.51 CId/Nblu.net
Gapとか使えばいいんじゃね

846:デフォルトの名無しさん
22/10/10 15:00:17.69 AiOpkeUk.net
reduced expression の長さ自体の計算は簡単だけどこの問題は"reduced expressionの長さを求めよ"ではないからそこまで数学的に単純じゃないよ

847:デフォルトの名無しさん
22/10/10 20:53:48.73 uiS3Rjx/.net
>>803
お題1
URLリンク(paiza.io)
お題2
URLリンク(paiza.io)
お題1とお題2でそれぞれ入力と出力をあわせるようにした
Mをできるだけ小さくって難しいな
これでいいのかわからん

848:デフォルトの名無しさん
22/10/10 21:09:44.88 TC3V9vEZ.net
アルゴリズムが存在するのは明らかだしひとつ答え見つけるアルゴリズムも簡単
でもreduced expression見つけるアルゴリズムと同程度のアルゴリズムとなると途端に難しくなる
reduced expressionの場合には置換σのreduced expressionを見つけるには
(1) σ = idであるか否か判定する、σ=idなら空列を返して終了
(2) そうでない場合σ(i) > σ(i+1)であるiを見つける、見つけたiに対してτ=σ(i i+1)とおいてτほreduced expression sを求める
(3)

849:デフォルトの名無しさん
22/10/10 21:16:09.04 TC3V9vEZ.net
(3) s ( i i+1 )を返して終了
でもとまる
ここでミソはreduced expressionの1番右は( i i+1 )と決め打ち出来ること、コレがあるから多項式時間で終わる
しかしアミダの場合1番右の初手をそんなに簡単に決定出来るかが分からん
初手の可能性は転置全部の可換な集合のうち極大であるもの全体のいずれかに最短が入る事は簡単に示せるけど、そのような極大な可換集合をどれとっても必ずうまくいくことの証明がむずかしい
多分出来るんだとは思うけど正直数学板で話題にするような話でプロ板で出すような問題じゃない気がする

850:441
22/10/11 10:43:04.37 Q+yx5xdI.net
>>803
最近やっとpythonを学び始めたレベルだから合ってるかわからん
コメントとかもちゃんと書いたほうがいいのだろう


851:か 暇な人添削してくれると嬉しい お題1 https://ideone.com/uQ0lEu お題2 https://ideone.com/IvtRj2



852:デフォルトの名無しさん
22/10/11 12:04:38.77 xv8Y5zzF.net
しゃぶれよ

853:96
22/10/13 07:01:45.31 JNehkz2R.net
>>773
自分でやれ

854:デフォルトの名無しさん
22/10/22 02:49:22.02 ql0xnxKt.net
やってるやん

855:デフォルトの名無しさん
22/10/24 10:24:26.56 sCRx2Xsd.net
お題
プリンタAは1分間に1ページ印刷できます
プリンタBは3分間に1ページ印刷できます
プリンタCは5分間に1ページ印刷できます
プリンタを3台同時に動かして100ページを印刷します
100ページを印刷し終わるのに何分掛かるか求めてください

856:デフォルトの名無しさん
22/10/24 12:38:35.85 PxuF7JuF.net
>>814
perl5
URLリンク(paiza.io)

857:デフォルトの名無しさん
22/10/24 13:32:21.38 LLDppSf/.net
>>815
バグってるぞ
65分だと99枚しか印刷されない

858:デフォルトの名無しさん
22/10/24 14:17:54.79 l9s5dDsa.net
>>814 cmd
set /a "p=100, n=15*p/23+!!(15*p%23)"

859:デフォルトの名無しさん
22/10/24 15:31:07.39 FSEywfH4.net
haskell
pages n = sum $ map ( div n ) [ 1,3,5 ]
main = print $ head [ n | n <- [1..], pages n >= 100 ]

860:デフォルトの名無しさん
22/10/24 20:20:16.51 112hix5y.net
>>814
aow = 100
power = (1 + 1r/3 + 1r/5)
printf(aow / power) // => 65.21739130434783

861:デフォルトの名無しさん
22/10/24 22:40:57.89 SGYFZ2pJ.net
>>814 octave
URLリンク(ideone.com)
f = @(n) ceil(n * 15 / 23);

862:デフォルトの名無しさん
22/10/25 01:46:09.54 m3snEfri.net
>>814
Kotlin
何も考えずただカウントして求めるように書いた。
URLリンク(paiza.io)

863:デフォルトの名無しさん
22/10/25 06:54:39.16 LZqPXT/2.net
>>817,820
逆算はページ数によってはダメ
例えば3ページの時、3分4ページが正解だけど
(B=2/3)+(C=2/5) で1繰り上がって2分が出て来る

864:デフォルトの名無しさん
22/10/25 07:50:54.84 V4E25MPr.net
A, B, Cでそれぞれ45/23, 15/23, 9/23ページ印刷すれば45/23分で3ページ印刷し終わるよ

865:デフォルトの名無しさん
22/10/25 08:18:47.97 5cB2OctB.net
100ページだからセーフ

866:デフォルトの名無しさん
22/10/25 13:35:12.41 xp4U3IJL.net
>>814
JavaScript
URLリンク(paiza.io)

867:デフォルトの名無しさん
22/10/25 20:38:44.30 Er29dtqL.net
甘えんな
印刷周期を一定と仮定した上で解として取りうる離散値のどれになるかを小数単位で求めるプログラムも書こうよ

868:デフォルトの名無しさん
22/10/25 21:08:38.15 idE58GAF.net
すまん、1分に3枚じゃなくて3分に1枚かorz

869:デフォルトの名無しさん
22/10/25 22:03:54.71 b0dw4lqu.net
>>814
Java
URLリンク(paiza.io)

870:デフォルトの名無しさん
22/10/25 22:28:13.40 F6XUw+z/.net
じゃあ1分に1枚、3枚、5枚のプリンターでの印刷というお題も出すか。

871:デフォルトの名無しさん
22/10/25 22:38:49.46 d0t/LHiA.net
>>814 octave
URLリンク(ideone.com)
function m = f(n, m)
if nargin == 1
m = f(n, 0);
elseif sum(idivide(m, [1 3 5])) < n
m = f(n, m + 1);
end
end
>>814 ocaml
URLリンク(ideone.com)
let f n =
let rec aux m =
if n <= (m + m / 3 + m / 5) then m else aux (m + 1)
in aux 0

872:デフォルトの名無しさん
22/10/25 23:47:11.01 b0dw4lqu.net
>>829
Java
public static void main(String[] args)
{
 var pages = 100;
 var s = IntStream.of(1, 3, 5).sum();
 System.out.println((pages + s - 1) / s);
}

873:デフォルトの名無しさん
22/10/26 13:26:51.44 FciA0hc1.net
お題
オークA「ぐっふっふ…… 俺は媚薬を盛ってないぜ……」
オークB「ぐふっ…… 媚薬を盛ったやつはAかCのどちらかだぜ…」
オークC「オークBかDは嘘をついているぜ…ぐっふっふっふっ……」
オークD「ぐふふ…媚薬を盛った奴はB,Eの中にはいないぜ……ぐひっ…」
オークE「げひひっ……媚薬を盛ったやつは本当の事を言っているぞ…」
オーク達「ちなみに、お前に媚薬を盛ったのはこの中の一匹で、俺たちの中で一匹が嘘をついているぞ……」
女騎士「くうぅ…誰が嘘をついて誰が私に媚薬を盛ったんだ……!」
オーク達「ぐっふっふ……」
論理演算を用いて答えを求めてください

874:デフォルトの名無しさん
22/10/26 13:33:52.83 FciA0hc1.net
オークCとオークEがめんどくさいな

875:デフォルトの名無しさん
22/10/26 15:30:35.63 DM8ZU7Du.net
全てが媚薬を盛って全員が嘘をついている
これで全員の発言と矛盾がないと思う

876:デフォルトの名無しさん
22/10/26 16:28:02.83 xzd5i3vP.net
さすがに
> オーク達「ちなみに、お前に媚薬を盛ったのはこの中の一匹で、俺たちの中で一匹が嘘をついているぞ……」
は正しいと仮定しないとなんでもありありになっちゃうだろ

877:デフォルトの名無しさん
22/10/26 18:06:43.51 VWCwwszG.net
さすがに
> オーク達「ちなみに、お前に媚薬を盛ったのはこの中の一匹で、俺たちの中で一匹が嘘をついているぞ……」
コレウソついてるのは一匹“だけ”つて意味だよね?
“少なくとも一匹はウソついてる”
じゃないよね?

878:デフォルトの名無しさん
22/10/26 18:20:40.38 S3XzLK/s.net
このタイプの論理問題ってよく見かけるな
初出ってどこなんだろうな

879:デフォルトの名無しさん
22/10/26 19:23:29.30 gD5qQ1ZG.net
>>836
> “少なくとも一匹はウソついてる”
だと、全員嘘つきでもいいからなんでもありになっちゃう気がする

880:デフォルトの名無しさん
22/10/26 20:30:42.10 dmTYCGjA.net
>>832
Haskell
まだ自信なし
URLリンク(ideone.com)

881:デフォルトの名無しさん
22/10/26 21:23:18.21 OrdcPqRc.net
オーク達「」が真であることは、
この世界の神である出題者が保証してるわけだな?

882:デフォルトの名無しさん
22/10/26 21:38:57.12 Bjop1AC4.net
出題者が嘘をついていて、オークがそのような発言をしていない可能性もある

883:デフォルトの名無しさん
22/10/27 01:22:34.18 s7i1htqL.net
>>832
Haskell
一ヶ所間違ってたので訂正
あとウソつきはちょうど1人という条件つけたら解一個になった
URLリンク(ideone.com)

884:デフォルトの名無しさん
22/10/27 09:19:06.82 Uf+5HE/G.net
Haskell
ウソつき1人としてループを5×5に
5人しかいないので大して変わらないけど
URLリンク(ideone.com)

885:デフォルトの名無しさん
22/10/27 14:26:07.23 QRorZadJ.net
>>832
Java
URLリンク(paiza.io)

886:デフォルトの名無しさん
22/10/29 19:11:19.58 O3TXZpYa.net
お題
Kの倍数の桁の和
自然数nに対してf(n)をnの10進表示の各桁の和とします
(例 f(1024) = 1+2+4 = 7)
自然数kに対してg(k)を
g(k) = { f(n) | nはkの倍数である自然数 }
とします
入力kに対してg(k)を出力するコードを書いて下さい

887:デフォルトの名無しさん
22/10/29 19:33:57.73 uuZ1gbyy.net
>>845
g(k)って必ずしも有限集合にならなくない?

888:デフォルトの名無しさん
22/10/29 19:39:30.16 O3TXZpYa.net
>>946
orz
訂正
g(k) = min{ f(n) | nはkの倍数である自然数 }

889:デフォルトの名無しさん
22/10/30 00:28:15.63 BQOGiCuF.net
お題
プレーヤーの前に閉じた3つのドアがあります
1つのドアの後ろには景品の新車があります
2つのドアの後ろにははずれを意味するヤギがいます
プレーヤーは新車のドアを当てると新車がもらえます
プレーヤーが1つのドアを選択したあとに司会のモンティが残りのドアのうちヤギがいるドアを開けてヤギを見せます
ここでプレーヤーは「最初に選んだドアを残っている開けられていないドアに変更してもよい」と言われます
ここでプレーヤーはドアを変更すべきだろうか?
乱数を使ったシミュレーションで答えを求めてください

890:デフォルトの名無しさん
22/10/30 03:55:05.76 KHak5nKt.net
>>848
モンティ・ホール問題だな。
Kotlin
URLリンク(paiza.io)

891:デフォルトの名無しさん
22/10/30 08:09:55.23 oF72FRjI.net
ドアを変更するかどうかのところはランダムにする必要無くない?
二択なので一方に決めていれば残りが逆側の確率

892:デフォルトの名無しさん
22/10/30 10:05:48.56 Rpnmj8SE.net
まぁ
交換戦略「必ず交換する」
非交換戦略「決して交換しない」
確率交換戦略「ある分布に従って確率的に交換するかしないか決める」
で答えが変わる事を確認せよだからな
ある意味最初2つの戦略も最後の戦略の特別な場合

893:デフォルトの名無しさん
22/10/30 11:47:05.86 0KuBg4yb.net
お題N x Nのルービックキューブのパターン数を求めよ

894:デフォルトの名無しさん
22/10/30 18:39:10.46 KHak5nKt.net
>>850
なるほど。

895:デフォルトの名無しさん
22/10/30 18:54:42.34 Sqe0pI7B.net
モンティ・ホール問題のシミュレートのように見えて実はちょっと違う
モンキーホール問題だったのだ

896:デフォルトの名無しさん
22/10/30 20:02:07.15 4vBwn6CZ.net
>>848 octave
URLリンク(ideone.com)

897:デフォルトの名無しさん
22/10/31 00:39:33.45 MKojko7I.net
お題 ジュールトムソン効果っぽいものをシミュレーションで再現せよ

898:デフォルトの名無しさん
22/11/04 07:13:30.92 jLlmakBU.net
お題:1~10までの合計を求めよ
*ただしライブラリ、ループ文を使わないこと

899:デフォルトの名無しさん
22/11/04 07:18:56.49 yh54R4RT.net
>>857 PHP
55

900:デフォルトの名無しさん
22/11/04 08:24:04.42 TDQ1gw2t.net
(1+10)*5

901:デフォルトの名無しさん
22/11/04 12:00:50.88 ryvUUS8Q.net
>>857 cmd
set /a "A=1, B=10, (B-A+1)/2*(A+B)+(B-A+1)%2*(A+B)/2" &rem A≦B

902:デフォルトの名無しさん
22/11/04 15:50:39.28 q0UsXtCi.net
1+2+3+4+5+6+7+8+9+10

903:デフォルトの名無しさん
22/11/04 15:52:05.99 TBUnPbqZ.net
>>857
$ dc -e'1 10+5*p'
55
$

904:デフォルトの名無しさん
22/11/04 16:28:57.36 q0UsXtCi.net
整数とは書いてないな
三角数とか実数とか何か別のものを想定してるかもしれない

905:デフォルトの名無しさん
22/11/04 16:32:28.85 q0UsXtCi.net
高級言語なら大抵暗黙のうちにライブラリは使ってるだろうし内部的にループも使ってるかもしれない
ループの定義も問題になるかと
gotoは?再帰は?列挙は?...

906:デフォルトの名無しさん
22/11/04 16:36:48.58 BHFqhq9y.net
>>863
その場合は
> 1~10までの合計
の定義を書かないとね

907:デフォルトの名無しさん
22/11/04 16:55:47.69 q0UsXtCi.net
「その場合」に限定する理由は無いよね?

908:デフォルトの名無しさん
22/11/04 17:35:42.12 u3TD418O.net
>>866
整数なら
> 1~10までの合計
についてほぼ合意できる定義があると思うけど?

909:デフォルトの名無しさん
22/11/04 18:32:31.67 iggZ7AM6.net
そう思ってない人もいる

910:デフォルトの名無しさん
22/11/04 18:59:46.26 u3TD418O.net
思ってない人は具体的にどう言う定義があるのか書けばいいんじゃね?

911:デフォルトの名無しさん
22/11/04 19:06:50.77 iggZ7AM6.net
ちょっと前のレスくらい読め

912:デフォルトの名無しさん
22/11/04 19:18:35.30 u3TD418O.net
ん?
ならなにを言いたいのかわからんわ

913:デフォルトの名無しさん
22/11/04 19:20:02.13 iggZ7AM6.net
わからないなら無理に書き込まなくていいよ

914:デフォルトの名無しさん
22/11/04 19:54:59.56 u3TD418O.net
ごめん、説明できないならいいや

915:デフォルトの名無しさん
22/11/05 14:37:23.18 wb4h3pkZ.net
>>857 octave
URLリンク(ideone.com)
f = @(a, b) (a + b) * (b - a + 1) / 2;

916:デフォルトの名無しさん
22/11/05


917:22:37:38.99 ID:ik3uUvNv.net



918:デフォルトの名無しさん
22/11/05 23:35:33.60 WGyFluMA.net
10*11/2

919:デフォルトの名無しさん
22/11/06 03:33:15.03 V4pkDxVq.net
>>857
Kotlin
URLリンク(paiza.io)
ループ文は使わず再帰でなんとかした。
(1..10).sum() や (1..10).reduce { a, n -> a + n } でも結果は出るが sum() や reduce() がライブラリにある拡張関数なので没。
10 * 11 / 2 とか 55 を直接出すのはプログラム作る意味がほとんどないような感じがするので止めた。

920:デフォルトの名無しさん
22/11/06 04:47:10.33 p1AlQ8ne.net
お題が、正方形や三角形の面積を求めるのと
同程度に簡単な式だしなあ

921:デフォルトの名無しさん
22/11/06 08:11:23.79 l6ScHNeb.net
Haskell
sum [1..10]

922:デフォルトの名無しさん
22/11/06 08:35:41.45 5UCgIOa9.net
>>861で終了じゃん
最適化して55でも良いけど
中途半端に和の公式使ってるヤツってアホなの?

923:デフォルトの名無しさん
22/11/06 09:08:00.03 aYMPlSSq.net
一垓にそうは言えないのでは
ループを使わないの意味が多くの数でもすぐ答えがでそうな処理を見たいのかもしれない

924:デフォルトの名無しさん
22/11/06 09:25:21.24 p1AlQ8ne.net
掛け算割り算だと中途半端でアホで
足し算だと利口だとおっしゃる

925:デフォルトの名無しさん
22/11/06 09:33:05.99 5UCgIOa9.net
和の公式を使うくらいなら55の方が良い
って話

なんで中途半端な最適化をするの?

926:デフォルトの名無しさん
22/11/06 09:38:06.42 gK09y9Q8.net
1^n + 2^n +・・・+(10^25)^n
n=10、 n=-17
の手段選ばすとかは?
25条はぎりふつうループでは困難かとおもえる数値を適当にいまおもいついた

927:デフォルトの名無しさん
22/11/06 10:54:00.31 Zb5xxfES.net
= 10+(9+1)+(8+2)+(7+3)+(4+6)+5
= 10+10+ 10+ 10+ 10+ 5
= 10 + (10 * ((10/2)-1))+5
= (10 * ((10/2)-1))+10+5
= x(0.5x-1)+1.5x

928:デフォルトの名無しさん
22/11/06 12:06:08.03 5iQhHwnm.net
こうどなじょうほうせん を愉しむための問題でしょ

929:デフォルトの名無しさん
22/11/06 15:29:02.07 RIYDMAGE.net
と思って>>863を書いたんだけど

930:デフォルトの名無しさん
22/11/06 15:33:43.73 RIYDMAGE.net
1~10の合計
1から10までの合計
じゃなくて
1~10までの合計
っていうのも気になった

931:デフォルトの名無しさん
22/11/06 17:04:56.12 PNCv3I6p.net
1~10までの実数の合計って言ってる奴は有限の値に収束するとでも思っているか

932:デフォルトの名無しさん
22/11/06 18:24:36.01 S6zCBHE1.net
するだろ
URLリンク(i.imgur.com)

933:デフォルトの名無しさん
22/11/06 18:35:07.31 mzFwuoQr.net
>>890
合計にはdx関係ないぞ...

934:デフォルトの名無しさん
22/11/06 18:37:14.41 PNCv3I6p.net
低レベルすぎて草
1以上10以下の実数全体の集合をAとすると
#A = ?_1 ゆえに Σ_{λ∈A}λ は有限の値を取らない

935:デフォルトの名無しさん
22/11/06 18:38:48.30 PNCv3I6p.net
文字化けしたか
「#A = 連続体濃度」

936:デフォルトの名無しさん
22/11/06 18:48:29.30 qhQ571Br.net
なんか足すと一見無限になりそうだけど
ある区間a<bの間にa<c<bとなるcが取れなくなることはありえないよね?

937:デフォルトの名無しさん
22/11/06 19:07:23.07 9PA1hevU.net
>>889
和が存在しないとうならそれが答え
3を含むが3.5を含まないという説得力のある説明が出来るならよろしく

938:デフォルトの名無しさん
22/11/06 19:12:17.73 PNCv3I6p.net
>>895
和が発散する説明はすでにしてあるんだが何を言いたいの

939:デフォルトの名無しさん
22/11/06 19:14:51.13 9PA1hevU.net
Q:和を求めよ
A:和は存在しない

940:デフォルトの名無しさん
22/11/06 19:15:52.52 9PA1hevU.net
発散とか収束とか
意味をわかって使わないと恥ずかしいぞ

941:デフォルトの名無しさん
22/11/06 19:17:22.08 PNCv3I6p.net
>>895みたいなこと言う奴が解析の基礎すら理解できてるとすら思えないが

942:デフォルトの名無しさん
22/11/06 19:17:36.32 9PA1hevU.net
>>892が最高に恥ずかしい

943:デフォルトの名無しさん
22/11/06 19:19:08.56 9PA1hevU.net
>>899
最高に笑える書き込みありがとう

944:デフォルトの名無しさん
22/11/06 19:19:25.97 PNCv3I6p.net
数学的に具体的な反論が一切ないじゃん
バカなの

945:デフォルトの名無しさん
22/11/06 19:21:59.86 aYMPlSSq.net
ぽまえら
餅付いて >>857 を嫁

946:デフォルトの名無しさん
22/11/06 19:23:24.47 9PA1hevU.net
>>892を見ただけでアホだとわかる

947:デフォルトの名無しさん
22/11/06 19:24:24.94 PNCv3I6p.net
>>904
暴言は結構なんで、数学的に反論してくれませんか?
まあ頭が悪くてできないんでしょうけど

948:デフォルトの名無しさん
22/11/06 19:28:25.36 9PA1hevU.net
>>905
何に反論してほしいの?
多分視野が狭くて何を主張されてるのかわかってないと思うんで
一回落ち着いた方がいいぞ
その上で
君が主張を明確にして
それに対して反対意見があれば反論してあげる

949:デフォルトの名無しさん
22/11/06 19:30:41.70 9PA1hevU.net
1以上10以下の実数の総和が存在しないことなんて
誰でもわかる
和が存在するなんて主張はしてないから勘違いしないように

950:デフォルトの名無しさん
22/11/06 19:31:28.37 PNCv3I6p.net
>>906
>1~10までの実数の合計って言ってる奴は有限の値に収束するとでも思っているか
に対してお前は>>895みたいなクソ発言してるわけだがこのクソ発言の妥当性を説明して見ろよ

951:デフォルトの名無しさん
22/11/06 19:35:38.89 9PA1hevU.net
和が存在しないというならそれが答え
の意味がわからなかったかな?
その次の文は和の存在とは関係ない
君への宿題

952:デフォルトの名無しさん
22/11/06 19:37:43.37 PNCv3I6p.net
>>909
任意のRの開区間に対してその元の和が有限の値になる場合何てないんだから
「和が存在しないというならそれが答え」なんて発言は問題の本質を理解していないバカの発言だろ
人に宿題出す前に算数からやり直せよ

953:デフォルトの名無しさん
22/11/06 19:40:06.40 eRXytuty.net
【悲報】アスペ君、今日も元気。。。

954:デフォルトの名無しさん
22/11/06 19:46:26.35 Zb5xxfES.net
プログラミングのお題なんだから1+2+に決まってるだろ。
少数を含めた1から10までに考えられる数値を足すとかできるわけねえだろ。

955:デフォルトの名無しさん
22/11/06 19:47:59.95 9PA1hevU.net
>>910
問題の本質というなら
解釈の多様性が本質
和の存在は解釈とは無関係
存在しないなら「存在しない」が答えとなるだけの話

956:デフォルトの名無しさん
22/11/06 19:48:45.29 9PA1hevU.net
>>912
floatやdoubleなら有限だね

957:デフォルトの名無しさん
22/11/06 19:49:37.79 PNCv3I6p.net
>>913
お気持ちで数学を語るのやめてくれませんかね
はなはだ不愉快です
「任意のRの開区間に対してその元の和」に対して有限の値を取らないという以外にどんな有意味なモデルが取り得るんですかね
バカすぎて日本語の意味すら理解できてなさそうだけど

958:デフォルトの名無しさん
22/11/06 19:49:56.13 9PA1hevU.net
決まってるといくら主張しても
お題に書いてないんだから
どう解釈されても出題者が悪い

959:デフォルトの名無しさん
22/11/06 19:51:41.99 9PA1hevU.net
>>915
お前が数学の話を語りたがってるだけで
私はただ解釈の多様性の話をしてるだけ

960:デフォルトの名無しさん
22/11/06 19:52:43.83 9PA1hevU.net
>>863に数学っぽい話あったか?

961:デフォルトの名無しさん
22/11/06 19:52:59.97 PNCv3I6p.net
>>917
実数の開区間の和が有限じゃないことにいちゃもん付けてきたのはオタクでしょ?
有限の値を取らない意外にどんな有意義な解釈が成り立つんですか?
きちんと説明しなさい

962:デフォルトの名無しさん
22/11/06 19:53:54.13 9PA1hevU.net
>>919
それ別の人

963:デフォルトの名無しさん
22/11/06 19:55:00.86 9PA1hevU.net
>>890と同一人物だと思って
トンチンカンな書き込みを繰り返してたのたね
恥ずかしい

964:デフォルトの名無しさん
22/11/06 19:55:05.02 PNCv3I6p.net
>>920
>和が存在しないとうならそれが答え
って和が存在する有意義なモデルがあるって言う前提で話してますよね?
もしそうじゃないならこれはどういう意図で行ったんですか?
ちなみに続く3.5云々の意味もよく分かってません

965:デフォルトの名無しさん
22/11/06 19:56:03.75 aYMPlSSq.net
もうこりゃ発散とか収束とか言う前に就職の心配したほうがいいな

966:デフォルトの名無しさん
22/11/06 19:57:33.13 9PA1hevU.net
>>922
落ち着いてから書き込んでね

967:デフォルトの名無しさん
22/11/06 19:59:09.36 PNCv3I6p.net
>>924
敗北宣言ですか
これにこりたら今後二度とお気持ちで数学を語るのはやめてください
研究者やエンジニアが迷惑するので

968:デフォルトの名無しさん
22/11/06 20:01:35.14 9PA1hevU.net
数学を語りたがってるのはお前と>>890だけだって
だから落ち着け

969:デフォルトの名無しさん
22/11/06 20:06:58.14 9PA1hevU.net
おれの主張は>>863だから
もちろん本気で出題者がそう思っているという主張ではなくて
解釈の余地があるという問題提起

970:デフォルトの名無しさん
22/11/06 20:07:53.80 Zb5xxfES.net
問題は出題者の意図を読み取ることが重要
1~10までの整数の和の事だろうなと考えるのが低レベルとは思えない。
常識で考えればそうなる
できればその高レベルのプログラムとやらを説明してほしいものだな。

971:デフォルトの名無しさん
22/11/06 20:12:04.95 9PA1hevU.net
一応プログラム板なんだからさ
解釈の多様性を多少は意識しようよ
プログラミング言語だったら「動作未定義」
曖昧な仕様書で中国人に発注したら
一番都合の良い解釈をされてとんでもないソフトになるぞ

972:デフォルトの名無しさん
22/11/06 20:17:19.25 Zb5xxfES.net
プログラムのお題なんだから、
プログラムで実現できないってのは答えにはならんよ。
国語の問題じゃねえんだから、
プログラムとして成立する答えを出せよ

973:デフォルトの名無しさん
22/11/06 20:24:40.28 9PA1hevU.net
国語の問題じゃねえんだから
出題者の意図を好意的に汲み取る必要はないんだよ

974:デフォルトの名無しさん
22/11/06 20:26:21.60 mzFwuoQr.net
>>930
だからちゃんと仕様出せやってことだろ
>>863は半分ネタだと思うけど、実数だと言うなら実数について「1~10までの合計」を定義しないとお題にならんよ

975:デフォルトの名無しさん
22/11/06 20:32:00.92 9PA1hevU.net
>>932
私は出題者じゃないし実数だなんて主張もしてない
いろんな解釈があるならお題にならん
解釈の余地は可能な限り減らせ

976:デフォルトの名無しさん
22/11/06 20:38:00.65 mzFwuoQr.net
>>933
お前にアンカーしてるわけでもないのに絡んでくるとかあたおかすぎる

977:デフォルトの名無しさん
22/11/06 20:59:57.69 Zb5xxfES.net
1から10までの整数の和では無い可能性があるから、
その場合はプログラムでは実現できないって言いたいだけだろ
整数の和として答えてるプログラムを低レベルってどういことやねん。
素直に受け取ればいいものを曲解して不可能に持って行ってるだけだろ

978:デフォルトの名無しさん
22/11/06 21:02:11.02 9PA1hevU.net
「整数の和として答えてるプログラムを低レベルってどういことやねん。」
だれがそんなことかいた?

979:デフォルトの名無しさん
22/11/06 21:04:22.43 9PA1hevU.net
>>935
>>931

980:デフォルトの名無しさん
22/11/06 21:07:02.93 tOVlE3Vc.net
>>857
python: URLリンク(ideone.com)
やさしいお題、助かります!

981:デフォルトの名無しさん
22/11/07 06:42:16.97 C4s2+P7f.net
仕事では御免だが
解釈の余地を残すことが娯楽では大切だって良く分かる例

982:デフォルトの名無しさん
22/11/07 15:08:59.94 4okW5BTf.net
お題:1/1+1/2+...+1/nの合計を求め、分母と分子を整数で出力せよ。
*ただしライブラリを使わないこと

983:デフォルトの名無しさん
22/11/07 15:35:37.09 Sowq9nFL.net
>>940 Ruby
(1..n).map{ 1r/_1 }.sum

984:デフォルトの名無しさん
22/11/07 15:48:12.


985:36 ID:wln8XcGb.net



986:デフォルトの名無しさん
22/11/07 17:42:49.96 dFD6FGsc.net
gcdとかsumとかprintはライブラリじゃないの?

987:デフォルトの名無しさん
22/11/07 18:21:56.48 UfWjgfnM.net
1+・・・+1/n の小数点n桁目はいくらか

988:デフォルトの名無しさん
22/11/07 18:47:35.11 Fdh4LiCB.net
>>944
こっちの方がおもしろいかも
小数第○位って昔は言ったけど今は言わない?

989:デフォルトの名無しさん
22/11/07 20:48:13.34 OXo72DE3.net
>>940
Java
URLリンク(paiza.io)

990:デフォルトの名無しさん
22/11/07 20:49:01.52 FonngYyy.net
>>943
Pythonではprintは組み込み関数だな
他は知らんけど

991:デフォルトの名無しさん
22/11/07 21:06:30.94 Fdh4LiCB.net
組み込み関数はライブラリじゃないと
ライブラリと呼ばない言語なら何でもありか

992:デフォルトの名無しさん
22/11/07 21:08:54.69 Fdh4LiCB.net
C言語上のただのintの乗算でもライブラリが必要な環境もあるわけだけど

993:デフォルトの名無しさん
22/11/07 21:34:22.19 q2YPtCXX.net
アルゴリズムが見たいのでしょうね

994:デフォルトの名無しさん
22/11/07 21:35:14.79 kmERiYaX.net
まあ今時組込とかでもなきゃintの乗算でライブラリ呼び出す環境もあまりないけどそもそも入出力はライブラリ任せだからねぇ

995:デフォルトの名無しさん
22/11/07 23:30:13.24 3GzmFPX6.net
>>943
Haskell ?
だとsumやgcdはpreludeで標準関数扱い
基本import~が必要ない奴は標準扱い

996:デフォルトの名無しさん
22/11/08 01:53:36.92 s644Ul/+.net
>>940
Kotlin
URLリンク(paiza.io)
分子と分母を別々に保持して足し続けただけ。約分はしていない。

997:デフォルトの名無しさん
22/11/08 21:45:51.73 dCnZkmaL.net
>>940
URLリンク(ideone.com)
・「ただし」以下は無視した回答
function [n, d] = f(n)
[n, d] = rat(sum(1./(1:n)), 1e-7);
end

998:デフォルトの名無しさん
22/11/08 21:46:18.88 dCnZkmaL.net
>>940 octave
URLリンク(ideone.com)
・「ただし」以下は無視した回答
function [n, d] = f(n)
[n, d] = rat(sum(1./(1:n)), 1e-7);
end

999:デフォルトの名無しさん
22/11/09 00:46:04.53 oWTDq5DR.net
>>940 octave
URLリンク(ideone.com)
・「ただし」以下は無視した回答
function [n, d] = f(n)
[n, d] = rat(sum(1./(1:n)), 1e-7);
end

1000:デフォルトの名無しさん
22/11/09 00:46:10.95 oWTDq5DR.net
>>940 octave
URLリンク(ideone.com)
・「ただし」以下は無視した回答
function [n, d] = f(n)
[n, d] = rat(sum(1./(1:n)), 1e-7);
end

1001:デフォルトの名無しさん
22/11/09 01:55:16.87 QvIAsso6.net
なぜ同じ書き込みが4つもある?

1002:デフォルトの名無しさん
22/11/09 02:02:28.03 Ewgu9c/a.net
お題スレの7不思議に加えよう

1003:デフォルトの名無しさん
22/11/09 12:49:26.26 AHjhHUHj.net
お題
入力した文字列を以下の4種類に分けた文字列を作成する関数を作成してください
・アルファベット大文字
・アルファベット小文字
・数字
・それ以外の文字

1004:デフォルトの名無しさん
22/11/09 18:55:40.68 dDwxEUkd.net
Array.from(input).filter(c=>c.match(/[A-Z]/)).join("")
+ Array.from(input).filter(c=>c.match(/[a-z]/)).join("")
+ Array.from(input).filter(c=>c.match(/[0-9]/)).join("")
+ Array.from(input).filter(c=>c.match(/[^A-Za-z0-9]/)).join("")

1005:デフォルトの名無しさん
22/11/09 20:05:26.68 1g3d+RJJ.net
>>960 octave
URLリンク(ideone.com)
function c = f(s)
u = isstrprop(s, 'upper');
l = isstrprop(s, 'lower');
d = isstrprop(s, 'digit');
c = {s(u) s(l) s(d) s(~(u | l | d))};
end

1006:デフォルトの名無しさん
22/11/10 01:00:36.16 UXFdZVAF.net
>>960
Haskell
URLリンク(ideone.com)
isUpper = flip elem [ 'A' .. 'Z' ]
isLower = flip elem [ 'a' .. 'z' ]
isNum = flip elem [ '0' .. '9' ]
isOthers = id
. all not
. zipWith ( $ ) [ isUpper, isLower, isNum ]
. repeat
sieve str = [ filter cond str |
cond <- [ isUpper, isLower, isNum, isOthers ] ]
testStr = "foldl1 :: Foldable t => (a -> a -> a) -> t a -> a"
main = mapM_ print $ sieve testStr

1007:デフォルトの名無しさん
22/11/10 01:50:3


1008:8.82 ID:j8kXq8l6.net



1009:デフォルトの名無しさん
22/11/10 02:29:28.73 kjI8mJgQ.net
>>961
俺も正規表現でやりたいけどこっちのほうが5倍速かった…
コンパイル言語に比べたら目くそ鼻くそだがこんだけ違うと考えちゃうな
const str = 'aA0!bB1@cC2#dD3$eE4%'.repeat(500);
let oomoji = [], komoji = [], suuji = [], sonota = [];
for (const c of str) {
let cp;
switch (true) {
case 65 <= cp && cp <= 90:
oomoji.push(c);
break;
case 97 <= cp && cp <= 122:
komoji.push(c);
break;
case 48 <= cp && cp <= 57:
suuji.push(c);
break;
default:
sonota.push(c);
}
}
[oomoji, komoji, suuji, sonota] = [oomoji, komoji, suuji, sonota]
.map(a => a.join``);
// console.table({oomoji, komoji, suuji, sonota});

1010:デフォルトの名無しさん
22/11/10 02:37:16.98 kjI8mJgQ.net
>>965
5倍じゃなくて3倍だったわ
perf.linkで測ったコード、
let cp = c.codePointAt();

let cp;
になってたわ寝ぼけてた

1011:デフォルトの名無しさん
22/11/10 07:33:44.51 oQpocXYl.net
>>960
ASCII のみで良い?
それとも Unicode?

1012:デフォルトの名無しさん
22/11/10 07:56:41.06 3FlvzqxM.net
>>960 Ruby
-> s { s.scan(/[A-Z]+|[a-z]+|\d+|[\W_]+/) }

1013:デフォルトの名無しさん
22/11/10 14:11:20.86 oQpocXYl.net
>>960
Kotlin
URLリンク(paiza.io)
Unicodeで作った。サロゲートペアの文字もちゃんと扱える。
判別には Java の Character クラスのメソッドを利用している。
これだといわゆる全角の数字は数字扱いになるが漢数字は数字と分類してくれない。
ローマ数字はアルファベット大文字扱い。
日本語の「あ」とかもアルファベットとして扱われるが大文字でも小文字でもないのでそれ以外の文字に追加されるようにした。
コントロールコードは \uXXXX 形式になるようにした。

1014:デフォルトの名無しさん
22/11/10 18:57:30.40 3zaWz6R+.net
>>960
PowerShell
function StrClassify($s)
{
  "\P{Lu}", "\P{Ll}", "\P{N}", "[\p{Lu}\p{Ll}\p{N}]" |% {$s -creplace $_}
}
StrClassify "Κωνσταντινούπολιςは1453年にİstanbulと改称された。`n"
StrClassify "塩化銅(Ⅱ)は水中で CuCl₂ ⇄ Cu²⁺ + 2Cl⁻ のように電離する。"
[実行結果]
Κİ
ωνσταντινούπολιςstanbul
1453
は年にと改称された。
CCCC
ulul
Ⅱ₂²2
塩化銅()は水中で ⇄ ⁺ + ⁻ のように電離する。

1015:デフォルトの名無しさん
22/11/10 20:35:16.34 V5vZiHvW.net
>>944をやってみたらPythonで300くらいでオーバーフローになった
分子と分母をべつべつに計算してp/qだったとすると
int(10^n * p / q ) % 10 が求める答えのはずだが、この計算ができなかった

1016:デフォルトの名無しさん
22/11/10 20:44:38.28 V5vZiHvW.net
ここで問題変更でp/qの小数点n桁目を求める問題にすればいいか
オーバーフローしないように×10ずつして整数部分は無視していけば整数演算の範囲内にできるか
忘れたがユークリッド互除法みたいな?

1017:デフォルトの名無しさん
22/11/10 20:50:26.16 m98zu82a.net
input.replace(/[^A-Z]/g,"")
+ input.replace(/[^a-z]/g,"")
+ input.replace(/[^0-9]/g,"")
+ input.replace(/[A-Za-z0-9]/g,"")

1018:デフォルトの名無しさん
22/11/10 20:51:12.57


1019: ID:m98zu82a.net



1020:971
22/11/10 21:10:50.60 V5vZiHvW.net
>>944オーバーフローせずにできた
URLリンク(ideone.com)

1021:デフォルトの名無しさん
22/11/10 21:27:26.89 p27a51fr.net
>>944
Haskell
URLリンク(ideone.com)
import Data.Ratio
hnn n = flip mod 10 $ truncate $ (* ( 10^n)) $ sum $ map recip [ 1%1..n%1 ]
main = print $ hnn 300

1022:デフォルトの名無しさん
22/11/10 21:45:52.91 KPTSzoDK.net
お題 小数点第n位を求めるプログラムを作成せよ

1023:デフォルトの名無しさん
22/11/10 21:58:11.94 JknzoKCK.net
>>977
何の?

1024:デフォルトの名無しさん
22/11/11 12:27:18.79 eQP0gwqb.net
ルート4の

1025:デフォルトの名無しさん
22/11/11 13:33:07.98 XogJxnoW.net
そんなむず過ぎるお題は過疎るのだ却下

1026:デフォルトの名無しさん
22/11/11 18:36:58.77 Jm4DMnci.net
>>978
入力された実数

1027:デフォルトの名無しさん
22/11/11 20:10:51.65 +Uq9lyYZ.net
(x*10**n)%10

1028:デフォルトの名無しさん
22/11/12 01:53:40.01 Y/i2pfZ3.net
お題
配列データと、同じ長さの確率の配列(合計値1)が与えられた時に、対応する確率で配列からデータを出力せよ

aa,bb,cc
0.4,0.5,0.1
→aa 40%, bb 50%, cc 10%で出力

1029:デフォルトの名無しさん
22/11/12 08:50:36.22 yCEPOpQl.net
>>983 Ruby
a = %w[aa bb cc]
p = [0.4, 0.5, 0.1]
f = -> (a, p) { r = rand; a[(0..a.size-2).find{ r < p[0.._1].sum } || a.size - 1] }
10.times{ print f[a, p] }
# => aabbccbbaaaaaabbbbbb

1030:デフォルトの名無しさん
22/11/12 10:10:20.03 g2vYgSbJ.net
>>983
Haskell
URLリンク(ideone.com)
import System.Random
import Data.List
randomDbls :: StdGen -> [ Double ]
randomDbls= randomRs (0,1)
chooseItem is ws r = let
folder a b = a : map ( + a ) b
selecter r ( i, ( f, t ) ) = f <= r && r < t
ts = foldr folder [ ] ws
fs = 0 : ts
ifts = zip is $ zip fs ts
in fst $ head $ filter ( selecter r ) ifts
main = do
rds <- ( return . randomDbls ) =<< getStdGen
print $ map (chooseItem ['A'..'C' ] [0.4,0.5,0.1] ) $ take 100 rds

1031:デフォルトの名無しさん
22/11/12 10:19:35.32 uOtU06vW.net
>>983 octave
URLリンク(ideone.com)
f = @(a, r) a(rand < cumsum(r))(1);

1032:デフォルトの名無しさん
22/11/12 14:34:06.57 Q9bJaddO.net
>>983 ocaml
URLリンク(ideone.com)
let (<<) f g x = f (g x)
let cumsum =
List.rev << fst << List.fold_left (fun (a, s) f -> s +. f :: a, s +. f) ([], 0.)
let f xs =
let r = Random.float 1. in
fst << List.find ((<) r << snd) << List.combine xs << cumsum

1033:デフォルトの名無しさん
22/11/12 16:47:04.36 We3Ba5Li.net
>>983
コレでよかった
Haskell
URLリンク(ideone.com)
import System.Random
randomDbls :: StdGen -> [ Double ]
randomDbls= randomRs (0,1)
chooseItem (i:is) (w:ws) r | r < w = i
chooseItem (i:is) (w:ws) r = chooseItem is ws ( r - w )
main = do
rds <- ( return . randomDbls ) =<< getStdGen
print $ map (chooseItem ['A'..'C' ] [0.4,0.5,0.1] ) $ take 100 rds

1034:デフォルトの名無しさん
22/11/12 17:19:40.29 MirHjvCf.net
>>983
別名法とかいうアルゴリズム
URLリンク(ideone.com)

1035:デフォルトの名無しさん
22/11/12 19:13:20.80 MirHjvCf.net
URLリンク(ideone.com)
元からあったコードをちょっといじったんだけど変換ミスがあった

1036:デフォルトの名無しさん
22/11/13 18:45:40.25 zjrUNZaB.net
>>983
Kotlin
URLリンク(paiza.io)

1037:デフォルトの名無しさん
22/11/13 19:01:26.14 ZCYlhUwL.net
次スレ



1038:vログラミングのお題スレ Part21 https://mevius.5ch.net/test/read.cgi/tech/1668333636/



1039:デフォルトの名無しさん
22/11/15 08:06:01.58 XL64sJsG.net
うめ

1040:デフォルトの名無しさん
22/11/15 09:22:13.74 x0rg5fHd.net
お題:1辺がn文字の正四角形を表示せよ
1 <= n <= 8 とする

1041:デフォルトの名無しさん
22/11/15 10:16:55.01 V1sKjJZc.net
haskell
URLリンク(ideone.com)
sqStr n = ""
++ "\x250f" ++ r "\x2501" ++ "\x2513" ++ "\n"
++ r ( "\x2503" ++ r "\x2001" ++ "\x2503" ++ " \n" )
++ "\x2517" ++ r "\x2501" ++ "\x251b" ++ "\n"
where r = concat . replicate ( n-2 )
main = putStr $ sqStr 10

1042:デフォルトの名無しさん
22/11/15 20:16:12.10 r20LvnA2.net
>>994 octave
URLリンク(ideone.com)
function s = f(n)
s = repmat('#', n);
s(2:end-1, 2:end-1) = ' ';
end

1043:デフォルトの名無しさん
22/11/17 21:39:57.15 BbSHYj/y.net
うめ

1044:デフォルトの名無しさん
22/11/17 21:40:03.49 BbSHYj/y.net
うめ

1045:デフォルトの名無しさん
22/11/17 21:40:08.22 BbSHYj/y.net
うめ

1046:デフォルトの名無しさん
22/11/17 23:04:00.66 W9+RkUIs.net


1047:1001
Over 1000 Thread Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 516日 23時間 1分 3秒

1048:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch