dupchecked22222../cacpdo0/2chb/397/10/tech156431039721738534420 プログラミングのお題スレ Part15 YouTube動画>1本 ->画像>14枚 ◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

プログラミングのお題スレ Part15 YouTube動画>1本 ->画像>14枚


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/tech/1564310397/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

1デフォルトの名無しさん2019/07/28(日) 19:39:57.54ID:832c/ukY
プログラミングのお題スレです。

【出題と回答例】
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://2chb.net/r/tech/1558168409/

2デフォルトの名無しさん2019/07/28(日) 21:03:19.25ID:KnbJf+WN
宿題、チューリングの泥沼、条件不足等回避のため
出題者は自分で回答可能か確認してからお題を出すこと

3デフォルトの名無しさん2019/07/28(日) 21:08:20.48ID:OTB4c+BP
※QZは書き込み禁止

4デフォルトの名無しさん2019/07/28(日) 21:32:12.69ID:MO+jaDzY
お題
とあるゲームでは、10面ダイスによってスコアを次のように定める
1. x個のダイスを全部振る
2. 振ったダイスのうち、最大の出目をスコアとする
3. 出目がc以上のダイスが存在するなら、その全てのダイスを使って同じ試行を行い、スコアに加算する
例えばc=7の時、2個のダイスの結果が(10,7)→(8,3)→(2)ならスコアは10+8+2=20となる
最初に振るダイスの個数Nとc(≧2)が分かっている時、スコアの期待値を求めよ

5デフォルトの名無しさん2019/07/29(月) 11:14:17.89ID:3vvajVS9
>>4
https://ideone.com/GgQh2t
C++,モンテカルロしてみた。
値がちょっと怖い値になったので、バグ報告歓迎。

6デフォルトの名無しさん2019/07/29(月) 11:34:20.96ID:3vvajVS9
https://ideone.com/geZ4qP
>>5が不安だったので、出力変えてみたけど、最大値で500近くになるんだな。
何かビビった。

7デフォルトの名無しさん2019/07/29(月) 11:49:50.47ID:3vvajVS9
サイコロの偏りをもっと明確にしたいなら、乱数エンジンを複数持つか、ランダムデバイスそのもので実行する。
ランダムデバイスは遅いことになってるのでMTに投げるんだけど。

8デフォルトの名無しさん2019/07/29(月) 11:55:28.48ID:3vvajVS9
一様乱数のサイコロは、現実では職人が作ったサイコロですなあ。

9蟻人間 ◆T6xkBnTXz7B0 2019/07/30(火) 00:00:42.86ID:NJpsA13e
お題: 炭素原子C, 酸素原子O, 水素原子Hという三種類の原子をそれぞれいくつか組み合わせて、非イオンの分子を作る。C, O, Hの結合の手の本数は、それぞれ四本、二本、一本である。

ゼロ以上の整数p,q,rが与えられ、Cがp個、Oがq個、Hがr個あると仮定するとき、原子を余らせず、また、結合の手を余らせずに一つの連結された分子を作りたい。

C, O, Hをこの順でp+q+r個、並べたリストLについて、m番目の原子L[m]とn番目の原子L[n]の結合の個数をA[m,n]と書くとき、A[m,n]によってなる行列Aを一つ求めなさい。不可能な場合は「None.」と表示しなさい。

例)
(p, q, r)=(0, 2, 0) → A=((0, 2), (2, 0)).
(p, q, r)=(1, 2, 0) → A=((0, 2, 2), (2, 0, 0), (2, 0, 0)).
(p, q, r)=(0, 1, 2) → A=((0, 1, 1), (1, 0, 0), (1, 0, 0)).

10デフォルトの名無しさん2019/07/30(火) 03:21:18.39ID:NEOgIkE0
問題がわかりづらい。

11デフォルトの名無しさん2019/07/30(火) 06:42:15.48ID:x+cPGemS
出題者は自分で解けることを確認してからお題にしてるのかね?
自明でない不可能な場合の例とか出してこないし怪しいもんだ

12デフォルトの名無しさん2019/07/30(火) 10:22:50.80ID:xUDKdiN7
慣れない言語の勉強に使うのに丁度いいね
出題者が答えも貼っといてくれるとありがたい(´・ω・`)

13デフォルトの名無しさん2019/07/30(火) 16:13:07.32ID:YUdTZrG6
良いプログラムは良い数式がないと作れないのでこのスレは過疎化する。

14デフォルトの名無しさん2019/07/30(火) 16:39:56.09ID:qFxGgTrm
久々にこの板きたけど、宿題スレってなくなったんだね

15蟻人間 ◆T6xkBnTXz7B0 2019/07/30(火) 16:51:52.79ID:gia580F5
解空間は、サイズ(p+q+r)×(p+q+r)の整数行列の集合になる。
結合の手の個数は有限だから、解行列の成分は上限がある。
よって行列の各成分についてしらみつぶし探索が可能。

自分自身とは結合しないので、A[k,k]=0(つまり、行列の対角成分はゼロ)。
ある行の和は、行番号に対応する原子の結合の手の個数になる。
ある列の和は、列番号に対応する原子の結合の手の個数になる。
連結条件のチェックが必要。

16デフォルトの名無しさん2019/07/30(火) 17:04:44.75ID:RYwsY7rK
お題: xのn次式を簡潔に表現できる関数を書け(rationalじゃなくてもOK)
a+bx+cx^2+dx^3+...

f x a b c d ...
のように表現する
(可変引数を処理する)

例えば
(defun f (x &rest as) (reduce #'+ (loop for a in as for i from 0 collect (* a (expt x i)))))
(loop for x from -5 to 5 do (print (f x 0 -1 0 1/3)))
-110/3
-52/3
-6
-2/3
2/3
0
-2/3
2/3
6
52/3
110/3

17デフォルトの名無しさん2019/07/30(火) 17:10:40.80ID:CNgKzCU7
>>14
基地外粘着uyによって潰された

18デフォルトの名無しさん2019/07/30(火) 19:44:50.09ID:RfvVlMN8
>>13
良い数式が立てられないのでモンテカルロに酔っているオレ・・・。

19◆QZaw55cn4c 2019/07/30(火) 20:12:47.58ID:3dZzemsO
>>9
複雑すぎます
非環状アルカン(CnH2n+2)の構造異性体を列挙せよ、という簡略化したお題を提案します

20◆QZaw55cn4c 2019/07/30(火) 20:13:36.62ID:3dZzemsO
>>14
存在することはするのですが、誰も近寄らなくなりました、キチガイが一匹しつこく居候しているので

21デフォルトの名無しさん2019/07/30(火) 21:52:06.20ID:WkS1m6T1
>>20
つ 鏡

22デフォルトの名無しさん2019/07/30(火) 23:15:45.71ID:1jiiGCYP
>>21
草生える

23デフォルトの名無しさん2019/07/30(火) 23:24:02.31ID:2GPXM96o
お題: 1 + 1 を計算させて 3 と出力させなさい

24デフォルトの名無しさん2019/07/30(火) 23:34:18.81ID:77FpHlNC
>>23 Perl5

$a = 1 + 1;
print ~$a%10;

実行結果
$ perl 15_23.pl
3

※64bit整数版で実行してね

25デフォルトの名無しさん2019/07/31(水) 00:12:45.83ID:w173sz60
>>23
perl5

print ("1", "+", "1")
1+1
print $_ =()= ("1", "+", "1")
3

26デフォルトの名無しさん2019/07/31(水) 04:39:05.16ID:BcGPMjSP
>>23
perl


1+1;
print "3\n"

27デフォルトの名無しさん2019/07/31(水) 05:06:41.43ID:B/3ESziM
>>23 ruby
class Fixnum
alias :add :+
def +(val)
if self == 1 && val == 1
puts 3
2
else
self.add(val)
end
end
end

1 + 1 #=> "3\n"
1 + 1 + 1 #=> "3\n"
1 + 1 + 1 + 1 #=> "3\n"
1 + 1 - 1 + 1 #=> "3\n3\n"

28デフォルトの名無しさん2019/07/31(水) 09:55:03.07ID:w173sz60
>>23
perl5

print qw(1 + 1)
1+1
print eval q(1 + 1)
2
print $_ =()= qw(1 + 1)
3

29デフォルトの名無しさん2019/07/31(水) 14:18:08.83ID:6BPSvdm1
お題、東大入試

a^2 - a が、10,000 で割り切れるような奇数a を求めよ。
ただし、3 <= a <= 9,999

ヒント
a^2 - a = a(a - 1) で、aは奇数、a-1 は偶数。
10,000 = 10^4 = 2^4 * 5^4

答え、625

東京大【整数マスターに俺はなる!#31】


30デフォルトの名無しさん2019/07/31(水) 14:46:10.23ID:w173sz60
>>29
common lisp
(loop for n from 3 to 10000 when (and (equal (mod n 2) 1) (equal 0 (mod (- (expt n 2) n) 10000))) collect n)
(625)

31デフォルトの名無しさん2019/07/31(水) 15:57:49.04ID:oxQy3lj+
・女体限定で、3次元の写真から3Dポリゴンモデルデータを自動作成
・そのデータから胴体部の着衣部分を、裸モデルに修正
・水着でついた脇乳の段差も修正
・元写真の地肌色を使い、女体テンプレのテクスチャを作成
・完成したモデルから胴体部だけ精密レンダリング
・元の写真に貼り付けて完成

32デフォルトの名無しさん2019/07/31(水) 17:25:11.51ID:6BPSvdm1
プログラミングのお題スレ Part14
http://2chb.net/r/tech/1558168409/981-986

漏れは、前スレの981 ではないですが、この問題の応用で、

括弧のネストの深さの最大値を求めよ

括弧の対応が取れていない場合は、-1 を出力せよ。
2種類の括弧が順序通りに、閉じていないものも、-1 です

ヒント : stack を使うと良いかも

"" => 0
"( )" => 1
"{ ( { ( ) } ( ) ) } ( )" => 4

"} {" => -1
"( { ) }" => -1

33デフォルトの名無しさん2019/07/31(水) 20:22:09.77ID:AESVjm16
自分でスタックするか再起にして自動で積ませるか、といったところか。

34デフォルトの名無しさん2019/07/31(水) 21:44:23.62ID:CaRsLsI2

35デフォルトの名無しさん2019/07/31(水) 22:14:16.43ID:w173sz60

36デフォルトの名無しさん2019/07/31(水) 22:19:24.27ID:w173sz60
ideone バグっているのか?
STDIN の1行目空だと
ちゃんと標準入力としてプログラムに伝わっているけど
リンク先の stdin 枠の中だと省略されているように見える

stdout の 0 はその空を受け取ったもの

37デフォルトの名無しさん2019/07/31(水) 22:42:26.48ID:w173sz60
twitterやっていたようなので
そこにバグフィックス要請とテストケース画像貼っておいた
たぶんそのうち直るでしょう

38デフォルトの名無しさん2019/07/31(水) 23:32:10.18ID:M5c7ILzZ
問題
n桁のヒットアンドブローのソルバーを作る。

39デフォルトの名無しさん2019/07/31(水) 23:34:51.48ID:BcGPMjSP
君の言っていることの意味がよくわからない。

40デフォルトの名無しさん2019/08/01(木) 00:15:32.73ID:i4UPQl8k
>>37
GJ

41デフォルトの名無しさん2019/08/01(木) 15:40:09.21ID:eeSbVWum
>>38
大分前に作ったけど、コード紛失した。
アルゴリズムも忘れた。

ガーン。

42デフォルトの名無しさん2019/08/01(木) 15:47:29.97ID:/tDwAGeP
年収n円の人が生活費と交遊費2種類だけで1年間の収入のすべてを消費するとして
税率がt1からt2に上がった時
税抜き価格ベースでの生活費が変動しないものと考えると
税抜き価格ベースでの交遊費の減少額はいくらになるか?
(端数は切り上げとする)

ex)
年収n=5,000,000
税率t1=8%
税率t2=10%
税抜き価格ベースでの生活費a
税抜き価格ベースでの交遊費x, y
5000000 = ( a + x ) * 1.08
5000000 = ( a + y ) * 1.10
上記の方程式を解いて
x-y ≒ 84,176

43デフォルトの名無しさん2019/08/01(木) 16:10:15.37ID:WaJjQk0q
>>42
wolfram
Simplify[ x-y, {5000000 == (a+x)*1.08,5000000 == (a+y)*1.1} ]
84175.1

44デフォルトの名無しさん2019/08/01(木) 16:16:06.40ID:WaJjQk0q
切り上げか
Ceiling[ Simplify[ x-y, {5000000 ==(a+x)*1.08 == (a+y)*1.1} ] ]

84176

45デフォルトの名無しさん2019/08/01(木) 16:17:25.45ID:9Ke7npq5
何も考えずにceiling(n/1.08-n/1.1)でいいんとちゃうけ?

46デフォルトの名無しさん2019/08/01(木) 19:07:52.51ID:CMxA9z9p
>>32 Ruby

f = -> str {s = +str.delete(?\ ); (0..).each{|i| s.gsub!(/{}|\(\)/, '') || (break s.size.zero? ? i : -1)}}

['', '( )', '{ ( { ( ) } ( ) ) } ( )', '} {', '( { ) }'].each{|e| puts '%p => %d' % [e, f[e]]}
# =>
"" => 0
"( )" => 1
"{ ( { ( ) } ( ) ) } ( )" => 4
"} {" => -1
"( { ) }" => -1

47デフォルトの名無しさん2019/08/01(木) 21:02:36.17ID:9Ke7npq5
>>45
ちょっと考えたらceiling(n/59.4)だったw

48デフォルトの名無しさん2019/08/02(金) 20:14:36.58ID:fXsI78QL
お題: 数字が与えられるので、その数字を元の数より大きくなるように再構築せよ
大きくできなければ元の数字をそのまま出力せよ

例:
in < 123
out > 231, 213, 321, 312

in < 921
out > 921

49デフォルトの名無しさん2019/08/02(金) 20:54:30.15ID:Awh9QXRy
123を入力したときに132が出力されないのはなぜ?

50デフォルトの名無しさん2019/08/02(金) 21:09:12.36ID:ec2C26mu
パーミュテーション作って終わりじゃあないのコレ

51デフォルトの名無しさん2019/08/02(金) 21:52:24.70ID:TUgs2HTj
>>49
ミスだよぉ!

52デフォルトの名無しさん2019/08/02(金) 22:45:44.46ID:T1FFAKuC
そんなんばっかだなお前

53デフォルトの名無しさん2019/08/03(土) 01:06:14.19ID:0ts56itm
>>48
https://ideone.com/fyfMQH
C++。ご期待通り(?)にパーミテーション回してみたよ。
重いお。

54デフォルトの名無しさん2019/08/03(土) 10:23:36.04ID:t/Tc4Qxr
https://ideone.com/pgG7pT

from itertools import permutations

#string = "123"
string = "5672391"
n = int(string)
print filter(lambda m: m>n, map(lambda x: int("".join(x)), list(permutations(string, len(string)))))

55デフォルトの名無しさん2019/08/03(土) 10:27:27.22ID:9AEx1UEu
なんて早いんだ

56デフォルトの名無しさん2019/08/03(土) 11:19:47.14ID:4CYzcJxv
「大きくできなければ元の数字をそのまま出力せよ」という条件が
ことごとく無視されててワロタ

あと、「133」みたいに同じ数字が複数含まれる場合はどうなるべきなんだろう

57デフォルトの名無しさん2019/08/03(土) 11:39:39.93ID:xpWLAw2C
>>48 Perl5

sub next_permutation {
 defined $_[1] and
  (next_permutation(@_[1..$#_]) or
   ($_[0] lt $_[1]) and
   do {
    for (1..$#_)
{$_[0] lt $_[$_] ? $i = $_ : last}
    @_[0, $i] = @_[$i, 0];
    @_[1..$#_] = reverse @_[1..$#_];
    1 })
 }

#$v = '123';
$v = '5672391';

@a = sort split '', $v;
do {
 $n = join '', @a;
 print "$n " if $n > $v;
} while next_permutation @a;

実行結果
https://ideone.com/qeSGDm

CPANなどにあるPermutation計算モジュールを使用しても良いけど、
言語処理系に標準で含まれるモジュールではなく別途インストールが必要なので、
昔書いたnext_permutation iteratorを使ってみた

58デフォルトの名無しさん2019/08/03(土) 11:43:50.21ID:xpWLAw2C
>>57 ごめんなさい
print "$n " if $n > $v;

print "$n " if $n >= $v;

じゃないと「大きくできなければ元の数字をそのまま出力せよ」を満たさなかった…orz

59デフォルトの名無しさん2019/08/03(土) 11:49:41.56ID:xpWLAw2C
>>58 そうすると逆に
「元の数「より大きくなる」ように再構築せよ」
については、元の数値が余計に出力されるな…ゴメンねもう一工夫要るわ
それにiteratorである必要ないわ

60デフォルトの名無しさん2019/08/03(土) 12:09:48.13ID:xpWLAw2C
>>48 Perl5、iteratorじゃなくpermutationを列挙する方法で書いてみた。これなら題意に合うはず。

sub permu {
 my ($l, $p, @r) = @_;
 defined $p ? map {[$p, @$_]} permu([], @$l, @r) : ([])
 ,
 @r ? permu([@$l, $p], @r) : ()
}

#$v = '123';
#$v = '321';
$v = '5672391';

@a = split '', $v;
@b = grep {$_ > $v} map{join('', @$_)} permu [], @a;

print (@b ? "@b" : $v);


実行結果
https://ideone.com/1Lft75

少しメモリを食ってるだろうけど0.04sで解けた

61デフォルトの名無しさん2019/08/03(土) 16:01:35.10ID:XF8eWPn5
>>48 Squeak/Pharo Smalltalk

| fn res |
fn := [:input |
(Array streamContents: [:ss |
input permutationsDo: [:perm | perm > input ifTrue: [ss nextPut: perm copy]]]
) ifEmpty: [input]
].

fn value: '123'. "=> #('132' '213' '231' '321' '312') "
fn value: '921'. "=> '921' "
{#ms -> [res := fn value: '5672391'] timeToRun. #size -> res size}. "=> {#ms->6 . #size->2438} "

62デフォルトの名無しさん2019/08/03(土) 19:53:41.57ID:0ts56itm
>>48だけど、>>56の要件を見落としていたので入れてみたよ。
https://ideone.com/h2KrQu
C++。

63デフォルトの名無しさん2019/08/04(日) 03:52:38.60ID:vnZdN6SP
>>56で指摘したのに誰も反応してくれないので自分で書く
>>54は、「133」と入れると[313,331,313,331]みたいに結果がダブる

64デフォルトの名無しさん2019/08/04(日) 04:17:02.39ID:vnZdN6SP
>>62
C++のnext_permutationは、辞書順で次に来る順列が返るので、
最初の並びにnext_permutationを繰り返し適用すれば題意を満たす数列が得られる。
あと、自前で桁分割するより他言語のように文字列を使った方が楽だと思う。

65デフォルトの名無しさん2019/08/04(日) 08:30:18.20ID:FnmDNXLj
>>48
@Mathematica

rebuildLargerN[n_]:=n//
  IntegerDigits//
  Permutations//
  Map[FromDigits,#]&//
  Select[#,#>n&]&//
  If[#!={},#,{n}]&;

In[1] := rebuildLargerN[123]
Out[1] = {132, 213, 231, 312, 321}

In[2] := rebuildLargerN[921]
Out[2] = {921}

66デフォルトの名無しさん2019/08/04(日) 11:42:59.33ID:1+0Vj0jh
>>63
オレのPerl5の>>60も桁に重複があると出力はダブるよ。
ダブった出力で良いかあるいは1つに削減して出力するか
仕様は不定なので、ダブる可能性があってもそのまま出した。
ダブらせず1つだけ出力すにはsortしてuniqすればいいんだけど。
@b = grep {$_ > $v} map{join '', @$_} permu [], @a;

%h = map{$_ => 1} sort grep {$_ > $v} map{join '', @$_} permu [], @a;
@b = keys %h;

67デフォルトの名無しさん2019/08/04(日) 13:27:01.79ID:FYuOH6vI
https://ideone.com/mBo1rR
C++.
>>63のダブって表示はならないですね。
文字列だと、自分はいいけど、数字に限定するのが面倒なので、大きな数で処理してます。
文字を許容するんであればお題で書いておけばそのようになるんじゃないですかね??

68デフォルトの名無しさん2019/08/04(日) 13:29:31.62ID:FYuOH6vI
あ、そうだった。文字列だと自分より大きいを表現するのがめんどくさいのでした。

69デフォルトの名無しさん2019/08/05(月) 21:32:05.80ID:OFOHGnJp
>>48
https://ideone.com/1mtrVl
C++。暇だったので、文字列版作った。
でかい数のデバッグが大変だから手抜きだ。
ご査収ください。。。

70デフォルトの名無しさん2019/08/05(月) 22:51:54.50ID:AzW+f4x5
>>48 C++
https://ideone.com/6HQBYE
>>64で説明したかった内容をコードにしてみた

なお、pythonとc++のpermutationは、同じ値が含まれる時の動作が異なる
https://stackoverflow.com/questions/6534430/why-does-pythons-itertools-permutations-contain-duplicates-when-the-original

71デフォルトの名無しさん2019/08/06(火) 14:56:22.80ID:1YPxJa8a
お題@閑話休題。
https://ja.wikipedia.org/wiki/AKS素数判定法
AKSの実装。Prime is in P.
自分は挫折しました。数学解らない。

残骸:https://ideone.com/9e7Tyn

72デフォルトの名無しさん2019/08/06(火) 14:57:44.83ID:1YPxJa8a
>>70
そういえば、ソートする必要ないね。
書いてるときは保証できなかったから思いつきもしなかった。

73デフォルトの名無しさん2019/08/06(火) 18:46:19.50ID:/2t+ALeN
お題: スターリンソートを実装せよ

74デフォルトの名無しさん2019/08/06(火) 19:06:50.12ID:Uq1zh0Vl
>>73
seq 300|sort -R | perl -ne ' if ($. == 1){print ; $hold = $_} elsif ($_ > $hold) { print ; $hold = $_}'
140
145
231
246
248
270
272
281
298
299
300

75デフォルトの名無しさん2019/08/06(火) 20:18:34.06ID:1YPxJa8a
>>73
要素粛清しながら見た目がそろっているというギャグかいな。

76デフォルトの名無しさん2019/08/06(火) 20:54:47.97ID:1YPxJa8a
https://ideone.com/hhy72i
C++。よく生き残った我が精鋭たちよ。
ところで・・・。

77デフォルトの名無しさん2019/08/07(水) 15:33:52.56ID:ts1kCtnm
>>73 Squeak/Pharo Smalltalk

| fn |

fn := [:array |
| memo |
memo := array first.
array reject: [:x | x < memo flag: (memo := x max: memo)]
].

fn value: (1 to: 300) asArray shuffled. "=> #(65 116 195 235 276 280 293 299 300) "

78デフォルトの名無しさん2019/08/08(木) 00:35:30.37ID:X/CTiqlR
>>73
しばらくお題がないとおちつかないな
seq 300|sort -R | perl -ne ' if ($. == 1 or $_ > $hold) { print ; $hold = $_}'

79デフォルトの名無しさん2019/08/08(木) 10:41:16.59ID:Q6oNbeov
>>73

ss = -> a {a.reduce([]){|r, e| r.first.nil? ? [e] : r.last < e ? r + [e] : r}}

p ss[[3,1,4,1,5,9,26,53,58,97,93,238]] # =>
[3, 4, 5, 9, 26, 53, 58, 97, 238]

80デフォルトの名無しさん2019/08/09(金) 00:37:57.26ID:F1quTbHl
>>73 Perl5

use List::Util 'max';
@a = qw{3 1 4 1 5 9 26 53 58 97 93 238};
@b = grep {$n < $_ and $n = max($n, $_)} @a;
print "@b\n";


実行結果
~ $ perl 15_73.pl
3 4 5 9 26 53 58 97 238

81蟻人間 ◆T6xkBnTXz7B0 2019/08/09(金) 00:53:52.15ID:ZZ2ybqZz
お題: 太陽系の各天体の位置を物理シミュレーションし、64日後の地球の位置を求めよ。

82蟻人間 ◆T6xkBnTXz7B0 2019/08/09(金) 01:17:32.06ID:JH0KcGUq
俺たちって計算能力でコペルニクスを超えられると思う? NASAのデータがあるから昔よりも楽だと思うけど。

83デフォルトの名無しさん2019/08/09(金) 01:27:37.54ID:F1quTbHl
>>73 Perl5、 >>80 よりこっちの方が若干スマート

$n = -inf;
@a = qw{0 3 1 4 1 5 9 26 53 58 97 93 238};
@b = grep {$n < $_ and ($n = $_), 1} @a;
print "@b\n";


実行結果
~ $ perl 15_73.pl
0 3 4 5 9 26 53 58 97 238

84デフォルトの名無しさん2019/08/09(金) 04:16:04.61ID:eE0IZ4mx
>>83
ちょっとおもしろい

85デフォルトの名無しさん2019/08/09(金) 08:43:53.16ID:Pwzp9noT
>64

地球の位置といってもいろいろあります。
地球の赤道を天球上に投影した、「赤経、赤緯」、太陽の天球上の
通り道を天球上に投影した「黄経、黄緯」がありますし、それも、地球の中心を
原点とした、「地心赤経、赤緯」、「地心黄経、黄緯」および、観測地点を原点とした
「地表赤経、赤緯」、「地表黄経、黄緯」もありますので、どれにするかによって
計算式が違ってきます。
なお、JPLでは、太陽と月、および冥王星までの精密位置計算用のプログラムを
発表しています。
期間がながいものは、−4000(B.C.4001)〜4000(A.D.)まで、計算できるものが
あります。
計算用のデータと、テスト用のFortranプログラムも附属しています。

86デフォルトの名無しさん2019/08/09(金) 12:56:08.85ID:1/DU+veY
Perlって読みにくいんだな
{とか@とか$とか使いまくる言語ってマジ苦手

87デフォルトの名無しさん2019/08/09(金) 13:03:13.21ID:OfLBByV9
RubyとPHPにケンカ売ってんの?

88デフォルトの名無しさん2019/08/09(金) 13:05:45.59ID:weGJYw8v
grep 内のboolian から最後の , 1 を取り除いたら
最初の0を拾わない
何というカオス

89デフォルトの名無しさん2019/08/09(金) 13:27:04.59ID:F1quTbHl
@b = grep {$n < $_ and {$n = $_}} @a;
こうやりゃいいんだよ

90デフォルトの名無しさん2019/08/09(金) 13:51:55.80ID:3hMObOjl
この方がいいだろ
@b = grep {$n < $_ and ($n = $_, 1)} @a;

91デフォルトの名無しさん2019/08/10(土) 22:54:55.68ID:wV6Kn1Zu
お題:
与えられた数列の要素の中で他と被っていない最小のものを求めよ
被っていない要素が存在しないときは-1を出力すること

例:
1,1,1,1,2,2,2,3,3,4 -> 4
1,2,3,4,5,5,4,3,2,1 -> -1
3,1,4,1,5,9,2,6,5,3,5 -> 2

92デフォルトの名無しさん2019/08/11(日) 00:46:36.68ID:In4DYV8Y
>>91 Perl5

use feature say;
use List::Util min;
for ([1,1,1,1,2,2,2,3,3,4], [1,2,3,4,5,5,4,3,2,1], [3,1,4,1,5,9,2,6,5,3,5]) {
 my %h;
 $h{$_}++ for @$_;
 @s = grep{1 == $h{$_}} keys %h;
 $" = ',';
 say "@$_ -> ", @s ? min @s : -1;
}

実行例
~ $ perl 15_91.pl
1,1,1,1,2,2,2,3,3,4 -> 4
1,2,3,4,5,5,4,3,2,1 -> -1
3,1,4,1,5,9,2,6,5,3,5 -> 2

93デフォルトの名無しさん2019/08/11(日) 01:44:41.14ID:GTeyRs5o

94デフォルトの名無しさん2019/08/11(日) 06:08:19.60ID:0wbGlMwh
>>91 Ruby

f = -> a {a.sort.group_by{|e| a.count(e)}[1]&.min || -1}

[
[1,1,1,1,2,2,2,3,3,4],
[1,2,3,4,5,5,4,3,2,1],
[3,1,4,1,5,9,2,6,5,3,5]
].each{|a| puts '%p => %s' % [a, f[a]]} # =>
[1, 1, 1, 1, 2, 2, 2, 3, 3, 4] => 4
[1, 2, 3, 4, 5, 5, 4, 3, 2, 1] => -1
[3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] => 2

95デフォルトの名無しさん2019/08/11(日) 06:11:31.27ID:0wbGlMwh
typo

f = -> a {a.uniq.group_by{|e| a.count(e)}[1]&.min || -1}

96デフォルトの名無しさん2019/08/11(日) 12:01:23.99ID:tGfhCIDM
>>91 ruby
[ [1,1,1,1,2,2,2,3,3,4], [1,2,3,4,5,5,4,3,2,1], [3,1,4,1,5,9,2,6,5,3,5] ].each{|ar|
print ar.join(','), " -> "
while (m = ar.min) && ar.count( m ) != 1
ar.delete( m )
end
puts m || -1
}

1,1,1,1,2,2,2,3,3,4 -> 4
1,2,3,4,5,5,4,3,2,1 -> -1
3,1,4,1,5,9,2,6,5,3,5 -> 2

97デフォルトの名無しさん2019/08/11(日) 13:17:24.76ID:In4DYV8Y
>>91 Perl5 >>92 よりもう少しシンプルに

use List::Util min;
for ('1,1,1,1,2,2,2,3,3,4', '1,2,3,4,5,5,4,3,2,1', '3,1,4,1,5,9,2,6,5,3,5') {
 my %h;
 $h{$_}++ for split ',';
 $s = min grep{1 == $h{$_}} keys %h;
 $s //= -1;
 print "$_ -> $s\n";
}

実行結果
~ $ perl 15_91.pl
1,1,1,1,2,2,2,3,3,4 -> 4
1,2,3,4,5,5,4,3,2,1 -> -1
3,1,4,1,5,9,2,6,5,3,5 -> 2

98蟻人間 ◆T6xkBnTXz7B0 2019/08/11(日) 13:23:49.66ID:NLZMdOh3
お題: 数独を素早く解くプログラム(ソルバー)。

99デフォルトの名無しさん2019/08/11(日) 16:53:20.83ID:RYQKURZ1
昔々Cで数独解くやつ普通に作ったことあるけど普通に作っても人間の感覚では一瞬にして答えが出ちゃうんだよな。ほとんどEnterキー押したらすぐ出る感じ。
そしてこれといって他にアルゴリズムは思い浮かばない。(誰もが思い付くであろう再起でマスに入れられる数を順番に入れてく方式ね)。

これ以上に「素早く」やる方法なんてあるんだろうか?

100デフォルトの名無しさん2019/08/11(日) 16:59:48.87ID:z7uw92+V
>>91
https://ideone.com/1JCuiv
C++。一応例題は解けたが妖しい処理になった。

101デフォルトの名無しさん2019/08/11(日) 17:06:50.80ID:z7uw92+V
>>91
https://ideone.com/oSQNZM
C++。これでどうじゃ。
バケットソートでいいじゃないか。プンプン。

102デフォルトの名無しさん2019/08/11(日) 17:17:47.99ID:z7uw92+V
#include <map>
template<class Container>
std::int64_t MakeHoge(const Container& D) {
std::map < Container::value_type, std::uint64_t> M;

for (auto& o : D) {
M[o]++;
}
for (auto& o : M) {
if (o.second == 1) {
return o.first;
}
}
return -1;
}

詰めまくってみた。C++。

103デフォルトの名無しさん2019/08/11(日) 17:20:29.72ID:z7uw92+V
#include <map>
template<class Container>
std::intmax_t MakeHoge3(const Container& D) {
std::map < Container::value_type, std::uintmax_t> M;

for (auto& o : D) {
M[o]++;
}
for (auto& o : M) {
if (o.second == 1) {
return o.first;
}
}
return -1;
}
しつこいけど、これ以上は無理ってくらい詰めた。

104デフォルトの名無しさん2019/08/11(日) 17:25:40.33ID:z7uw92+V
どうでもいいのですけど、MITライセンス。知ってますね。

105蟻人間 ◆T6xkBnTXz7B0 2019/08/11(日) 17:33:34.70ID:NLZMdOh3
名無しにライセンス

106デフォルトの名無しさん2019/08/11(日) 17:43:12.84ID:z7uw92+V
https://ideone.com/Cu9Dix
C++。大オチ。
駄文書きすぎた。

107デフォルトの名無しさん2019/08/11(日) 18:40:15.26ID:2JPwQqrg
prologのコード見せてよ

108蟻人間 ◆T6xkBnTXz7B0 2019/08/11(日) 18:56:28.74ID:NLZMdOh3
お題: 論文「数独パズルの難易度判定」(大阪工業大学)を読んで、数独の難易度を判定するプログラムを作れ。

109◆QZaw55cn4c 2019/08/11(日) 19:37:12.10ID:EWNjTlvC
>>108
吸う毒難易度判定
初期値の与えられているマスが22以下:難問
22以上:簡単

110蟻人間 ◆T6xkBnTXz7B0 2019/08/11(日) 19:48:53.81ID:NLZMdOh3
論文無視かよ

111デフォルトの名無しさん2019/08/11(日) 19:52:40.36ID:GTeyRs5o
お題出す前にその論文を簡約してよ

112デフォルトの名無しさん2019/08/12(月) 00:58:03.04ID:DPPVhuFK
>>91 Pharo/Squeak Smalltalk

| fn |
fn := [:arr | (arr asBag sortedElements detect: [:kv | kv value = 1] ifNone: [-1 -> 0]) key].

fn value: #(1 1 1 1 2 2 2 3 3 4). "=> 4 "
fn value: #(1 2 3 4 5 5 4 3 2 1). "=> -1 "
fn value: #(3 1 4 1 5 9 2 6 5 3 5). "=> 2 "

113デフォルトの名無しさん2019/08/12(月) 05:25:28.42ID:+GFDKMmL

114デフォルトの名無しさん2019/08/12(月) 21:41:34.96ID:qMi+e5AX
>>91 Perl5 >>97 もう少しスマートに

for ('1,1,1,1,2,2,2,3,3,4', '1,2,3,4,5,5,4,3,2,1', '3,1,4,1,5,9,2,6,5,3,5') {
 my %h;
 $h{$_}++ for eval;
 ($s) = sort grep{1 == $h{$_}} keys %h;
 $s //= -1;
 print "$_ -> $s\n";
}


実行結果
~ $ perl 15_91_3.pl
1,1,1,1,2,2,2,3,3,4 -> 4
1,2,3,4,5,5,4,3,2,1 -> -1
3,1,4,1,5,9,2,6,5,3,5 -> 2

115デフォルトの名無しさん2019/08/13(火) 07:30:43.99ID:kJJDzO2R
>>91
Ruby で

# 数字の配列の配列。改行は削除
nums = <<"EOT".lines( chomp: true ).map{ |str| str.split( "," ).map( &:to_i ) }
1,1,1,1,2,2,2,3,3,4
1,2,3,4,5,5,4,3,2,1
3,1,4,1,5,9,2,6,5,3,5
EOT

results = nums.each_with_object( [ ] ) do |ary, results|
uniq_ary = ary.uniq # 重複排除
uniq_ary.sort! # ソート

res = -1
uniq_ary.each do |num|
if ary.count( num ) == 1
res = num; break
end
end
results.push res
end

p results #=> [4, -1, 2]

116デフォルトの名無しさん2019/08/14(水) 01:39:36.14ID:G04CimIq

117デフォルトの名無しさん2019/08/14(水) 01:45:59.79ID:spdKRMJM
>>116
うわぁ…山中俊次かよ

1181152019/08/14(水) 03:01:09.16ID:ms62dfnn
>>91
Ruby で、>>115 を修正した

# 数字の配列の配列。改行は削除
nums = <<"EOT".lines( chomp: true ).map{ |str| str.split( "," ).map( &:to_i ) }
1,1,1,1,2,2,2,3,3,4
1,2,3,4,5,5,4,3,2,1
3,1,4,1,5,9,2,6,5,3,5
EOT

def resolve( ary )
# 数字の出現回数を数える。Hash の初期値は、0
hash = ary.each_with_object( Hash.new( 0 ) ) {
|num, hash| hash[ num ] += 1 }

hash_2 = hash.select { |key, val| val == 1 } # 1回のもの
# キーでソートして、最小の数字を返す
number = Hash[ hash_2.sort ].keys.first
number = -1 if number == nil
number
end

p nums.map { |ary| resolve ary } #=> [4, -1, 2]

1191152019/08/15(木) 05:28:22.88ID:5MxOdPEK
>>118
の、resolve 関数を修正

# キーでソートして、最小の数字を返す
>number = Hash[ hash_2.sort ].keys.first
pair = Hash[ hash_2.sort ].first # [ key, value ]

keys を使うと、ハッシュのキー配列が作られるため、処理が多くなるので、修正します

def resolve( ary )
# 各数字の出現回数を数える。Hash の初期値は、0
hash = ary.each_with_object( Hash.new( 0 ) ) {
|num, hash| hash[ num ] += 1 }

hash_2 = hash.select { |key, val| val == 1 } # 1回のもの
# キーでソートして、最小の数字を返す
pair = Hash[ hash_2.sort ].first # [ key, value ]
if pair == nil
number = -1
else
number = pair[ 0 ] # key
end
number
end

120デフォルトの名無しさん2019/08/16(金) 00:38:41.91ID:eRShYMGh
お題: 任意の2桁の自然数の各桁を、1桁になるまで掛け算する回数の最大回数とその数を示せ

15なら1x5=5と1回
93なら9x3=27, 2x7=14, 1x4=3と3回

121デフォルトの名無しさん2019/08/16(金) 01:31:17.83ID:eRShYMGh
>>120
最後1x4=3じゃなくて1x4=4だった

122デフォルトの名無しさん2019/08/16(金) 04:22:25.57ID:JO1Ik9g1
>>120
common lisp
https://pastebin.com/dAXgwYYX

出力
15=>(5 1)
93=>(4 3)
66=>(8 3)
51=>(5 1)
52=>(0 2)
61=>(6 1)
11=>(1 1)

123デフォルトの名無しさん2019/08/16(金) 04:32:18.49ID:4vR5Al7i
>>120 Ruby 1桁以上に拡張してみた
def colmul( val )
n = 0
while val >= 10
ans = 1
begin
val, c = val.divmod( 10 )
ans *= c
n += 1
end while val >= 10
val *= ans
end
[n, val]
end

[15,93, 77, 123].each{|n|
puts "%5d %3d %d" % [n, *colmul( n )]
}
実行結果
15 1 5
93 3 4
77 4 8
123 2 6

124デフォルトの名無しさん2019/08/16(金) 07:11:52.40ID:idyJWhoT
>>120 Squeak Smalltalk (Pharo では若干の修正が必要)

| fn ans |

fn := [:n |
| count digits |
count := 0.
[(digits := n asString asArray collect: #digitValue) size > 1]
whileTrue: [n := digits reduce: #*. count := count + 1].
count
].

ans := Set with: nil->0.

fn value: 15. "=> 1 "
fn value: 93. "=> 3 "
fn value: 277777788888899. "=> 11 "

(1 to: 9) do: [:i |
(i to: 9) do: [:j |
| kv m |
kv := (m := i * 10 + j) -> (fn value: m).
kv value = ans anyOne value ifTrue: [ans add: kv].
kv value > ans anyOne value ifTrue: [ans removeAll; add: kv]
]
].

^ans asArray "=> {77->4} "

125デフォルトの名無しさん2019/08/16(金) 09:55:22.61ID:w6EX52R7
>>120 python
from operator import mul
def kake(n, ls):
__m = reduce(mul, map(lambda x:int(x), list(str(n)) ) )
__ls.append(m)
__if len(str(m)) == 1:
____return
__kake(m, ls)

test = [0, 1, 9, 11, 15, 51, 52, 61, 66, 77, 93, 123, 277777788888899]
for n in test:
__ls = []
__kake(n, ls)
__print "n="+str(n)+", "+"list="+str(ls)+", "+"len="+str(len(ls))+", "+"last="+str(ls[-1])

実行結果
n=0, list=[0], len=1, last=0
n=1, list=[1], len=1, last=1
n=9, list=[9], len=1, last=9
n=11, list=[1], len=1, last=1
n=15, list=[5], len=1, last=5
n=51, list=[5], len=1, last=5
n=52, list=[10, 0], len=2, last=0
n=61, list=[6], len=1, last=6
n=66, list=[36, 18, 8], len=3, last=8
n=77, list=[49, 36, 18, 8], len=4, last=8
n=93, list=[27, 14, 4], len=3, last=4
n=123, list=[6], len=1, last=6
n=277777788888899, list=[4996238671872L, 438939648, 4478976, 338688, 27648, 2688, 768, 336, 54, 20, 0], len=11, last=0

126デフォルトの名無しさん2019/08/16(金) 10:19:15.90ID:s+gRsoB0
>>120 Ruby

f = -> n {[(1..).find{10 > n = n.divmod(10).reduce(:*)}, n]}

(10..99).group_by{|i| f[i]}.max.tap{|m| m.last.each{|v| puts '%dは%d回で%dになる.' % [v, *m.first]}}

# => 77は4回で8になる.

127デフォルトの名無しさん2019/08/16(金) 11:35:03.96ID:Y33v+D/I
>>120 Perl5

use List::Util reduce;
for (qw{15 93 123 277777788888899}) {
 ($n, $i) = ($_, 0);
 while (1 < length $n) {
  $n = reduce {$a * $b} split '', $n;
  $i++;
 }
 print "$_ -> $i回で $nになる\n";
}

実行結果
~ $ perl 15_120.pl
15 -> 1回で 5になる
93 -> 3回で 4になる
123 -> 1回で 6になる
277777788888899 -> 11回で 0になる

128デフォルトの名無しさん2019/08/16(金) 11:40:17.74ID:FoYt1ZXR
実用上、意味のないことは寝言という。

129デフォルトの名無しさん2019/08/16(金) 11:52:49.37ID:38QTrPdc
グッスリお休み。

130デフォルトの名無しさん2019/08/16(金) 17:08:53.11ID:/mNc+3sP
>>120
https://ideone.com/uOlN2E
C++. 暇だったので基数いじれるようにした。
ただし、デバッグはしてない。

131デフォルトの名無しさん2019/08/16(金) 19:41:08.88ID:4vR5Al7i
2x7x7x7x7x7x7x8x8x8x8x8x8x9x9=4996238671872
この段階で、掛け算14回じゃなくて1回になるの?

132デフォルトの名無しさん2019/08/16(金) 21:11:10.70ID:UOmTAtC9
元のお題は2桁の自然数なのでそれよりも桁が多いならその場合のルールも決めないとダメだろうな。

133デフォルトの名無しさん2019/08/16(金) 22:49:37.86ID:WXGx/ZZ4
> 2x7x7x7x7x7x7x8x8x8x8x8x8x9x9=4996238671872
を1回としても14回としても解き方はたいして変わらんからどっちでもいいと思う
とりあえず回答例見たら1回としてるみたいだから1回の方でいいんじゃね

134デフォルトの名無しさん2019/08/17(土) 05:49:01.88ID:He41kTu9
>>120
common lisp
https://pastebin.com/ZcaYiA3N
任意の自然数に拡張した

split-num を実装してて思った
perl の数字と文字を自由に行き来できる cool型マジcool

135デフォルトの名無しさん2019/08/17(土) 05:57:53.54ID:He41kTu9
15=>(5 1)
93=>(4 3)
198=>(4 3)
468=>(8 3)
738=>(6 4)
793=>(4 4)
1748=>(6 3)

136デフォルトの名無しさん2019/08/17(土) 15:01:05.32ID:m7Zf+/1R
>>120 Perl5

use feature current_sub;
use List::Util reduce;
for (qw{15 93 123 277777788888899}) {
 $i = 0;
 $n = sub {
  return shift if 1 == @_;
  $i++, __SUB__->(split'', reduce {$a * $b } @_);
 }->(split'');
 print "$_ -> $i回で $nになる\n";
}

実行結果
~ $ perl 15_120_2.pl
15 -> 1回で 5になる
93 -> 3回で 4になる
123 -> 1回で 6になる
277777788888899 -> 11回で 0になる

137さまよえる蟻人間 ◆T6xkBnTXz7B0 2019/08/17(土) 15:58:34.13ID:hkO+8710
お題: オカダンゴムシには進行中に壁にぶつかると左へ、次は右へ(あるいは右へ、次は左へ)と交互に曲がっていく習性がある。この行動は「交替性転向反応」といい、左右に交互に曲がる事で天敵から逃げられる確率を高めているといわれている(ウィキペディアより引用)。

何もない整数平面上にスタート地点(S)とゴール地点(G)が与えられる。仮想ダンゴムシ(@)の周辺に壁(#)をいくつか作って、スタート地点からゴール地点まで誘導せよ。
ただし、ダンゴムシは最初は右向きを向いていて、最初にぶつかったら左に曲がるものとする。
90度曲がって目の前にすぐに壁がある場合は同じ方へもう90度曲がるものとする。壁はいくつ作ってもよい。

例) S=(0, 0), G=(5, 2)
→#={(6, 0)}.
例) S=(1, 2), G=(-1, 1)
→#={(2, 2), (1, 3), (0, 2), (1, 0)}.

138デフォルトの名無しさん2019/08/17(土) 16:18:33.55ID:RHoMoFJP
>>137
ダンゴムシは初手でどこに向いてるの?北?Y+?X+?

139さまよえる蟻人間 ◆T6xkBnTXz7B0 2019/08/17(土) 16:19:06.00ID:hkO+8710
ヒント: 最初、スタートとゴールを囲むように壁を仮設する。ぶつからない壁は要らない。

140さまよえる蟻人間 ◆T6xkBnTXz7B0 2019/08/17(土) 16:20:08.58ID:hkO+8710
ダンゴムシはx軸方向です。y軸は数学と同じ上向きを仮定してます。

141デフォルトの名無しさん2019/08/17(土) 17:21:32.91ID:RHoMoFJP
Y+がビジュアライズして上になるかはビジュアライザーの挙動次第なのでいいのだけど。
最初はX+向いてるのね。承知。

142デフォルトの名無しさん2019/08/17(土) 17:25:39.14ID:RHoMoFJP
あ、もう一つあるんだ。
最初にダンゴムシが壁にぶつかったときは右と左どっち優先?

////

@#
////
の時。
方向がX+の時に左へターンしたら無限ループする。
逆に、方向がY+の時右にターンしたら無限ループする。

どや?

143デフォルトの名無しさん2019/08/17(土) 17:28:20.45ID:uIV5R7Aj
> ただし、ダンゴムシは最初は右向きを向いていて、最初にぶつかったら左に曲がるものとする。

144デフォルトの名無しさん2019/08/17(土) 17:29:33.02ID:wzQeNn8E
>>142
>90度曲がって目の前にすぐに壁がある場合は同じ方へもう90度曲がるものとする。

145デフォルトの名無しさん2019/08/17(土) 17:29:46.66ID:RHoMoFJP
すみません。見落としていました。
大変申し訳ありません。

146デフォルトの名無しさん2019/08/17(土) 19:06:19.57ID:c+Xct49t
クソコテの相手すんなよ

147さまよえる蟻人間 ◆T6xkBnTXz7B0 2019/08/17(土) 20:39:30.65ID:hkO+8710
世界はクソにあふれている! 何てこった! この状況を! この状況を変えるためには、クソをせずに生きれる仕組みを! 皆様と一緒にクソをせずに生きれる仕組みを、実現して! 行きましょう!

148デフォルトの名無しさん2019/08/17(土) 23:18:56.65ID:+079Z1et
そこでファナモの出番なわけですよ

149デフォルトの名無しさん2019/08/17(土) 23:52:46.77ID:9or86GZG
それよりも交替性転換反応とやらが本当に生存確率を高めるのか
右にばかり曲がりたがる逃亡犯と左にしか曲がれない共産党員を例に
シミュレーションを繰り返すプログラムを書いて?(゚∀゚)

150デフォルトの名無しさん2019/08/18(日) 00:30:12.24ID:Onid3Fuw
FPSのレレレ撃ちでしょ
ゲームで実験結果がでているからYoutubeにGo

151デフォルトの名無しさん2019/08/18(日) 01:00:00.23ID:C9/yeHaG
あなた達は、実は自分で思っているほど
ソフトウエアの開発が得意ではないということに
まだ気がついてすら至っていない

152さまよえる蟻人間 ◆T6xkBnTXz7B0 2019/08/18(日) 01:50:38.18ID:f2ZPM7Xh
>>151
そうだよね。ソフトクリーム作るのって大変だね。ちなみに英語ではジェラートだからね。

153デフォルトの名無しさん2019/08/18(日) 02:07:00.19ID:4oEGaRbg
>>151
君は、実は自分で思っているほど日本語が得意ではないということにまだ気づいていない。

154デフォルトの名無しさん2019/08/18(日) 02:25:43.87ID:zcvAoSag
そう来ると思っていました。

155デフォルトの名無しさん2019/08/18(日) 16:17:40.63ID:YNXq+wty
>>137
https://ideone.com/6yBcTi
C++。多分できた。
O(1)かも。

156デフォルトの名無しさん2019/08/18(日) 16:41:42.29ID:YNXq+wty
一番だよ〜。ほめてほめて〜〜!!

157デフォルトの名無しさん2019/08/18(日) 17:02:53.87ID:MNRPGL9Z
乙。

158デフォルトの名無しさん2019/08/18(日) 17:05:38.20ID:Onid3Fuw
O(1)だよ

159デフォルトの名無しさん2019/08/18(日) 17:21:04.50ID:YNXq+wty
やっほーい。

160さまよえる蟻人間 ◆T6xkBnTXz7B0 2019/08/18(日) 17:59:15.27ID:f2ZPM7Xh
スタート地点に壁を作ってるみたい。アルゴリズムの詰めが甘いようだ。

161デフォルトの名無しさん2019/08/18(日) 18:37:31.03ID:YNXq+wty
>>160
表示の問題です。では済まないかい?
場所は保持してるよ?

162デフォルトの名無しさん2019/08/18(日) 18:38:29.32ID:Y3okjmnX

163さまよえる蟻人間 ◆T6xkBnTXz7B0 2019/08/18(日) 19:10:36.63ID:f2ZPM7Xh
>>162
正解。

164さまよえる蟻人間 ◆T6xkBnTXz7B0 2019/08/18(日) 19:33:02.90ID:f2ZPM7Xh
お題: 壁で囲まれた何もない有限の部屋(面積5m^3前後)の中に、四方向に距離センサーが付いた、丸い形のお掃除ロボット(直径20cm)がある。
各距離センサーは、ロボットからその方向にある障害物までの距離を常に教えてくれる。
ロボットはその場で右または左に5度単位で自転するか、もしくは前方向に5cm単位で前進できる。
部屋全体のおおよその形がわかるまで、ロボットを動かしなさい。

例) 正方形の部屋
例) 正三角形の部屋
例) 凹の形の部屋

165さまよえる蟻人間 ◆T6xkBnTXz7B0 2019/08/18(日) 19:46:24.23ID:f2ZPM7Xh
直径20cmが入り込めない隙間は無視、もしくは壁と見なす。
スクリーンショットか動画を作れたら、30点加点する。

166デフォルトの名無しさん2019/08/18(日) 19:59:22.35ID:Y3okjmnX
面積なのに^3とはこれ如何に

167さまよえる蟻人間 ◆T6xkBnTXz7B0 2019/08/18(日) 20:17:13.38ID:OH7aQxbJ
>>164 >>166
訂正。m^2です。

参考資料:直線と線分の当たり判定
https://spphire9.wordpress.com/2013/01/14/直線と線分の当たり判定/

168デフォルトの名無しさん2019/08/19(月) 11:34:00.91ID:icNxZHqv
>>164
部屋の壁の構成が凹を基本としたヒルベルト曲線だったら「おおよその形」はそのロボットのAIは何と答えればいいの?
プログラミングのお題スレ Part15 	YouTube動画>1本 ->画像>14枚

169デフォルトの名無しさん2019/08/19(月) 11:46:10.65ID:icNxZHqv
もしくは、「壁」とは何か

170デフォルトの名無しさん2019/08/19(月) 12:00:44.91ID:78Wz1qhX
>>160
一晩かんがえてみたんだけどね、ゆる〜くね。
スタートに壁作るなとは書いてないよね??

171デフォルトの名無しさん2019/08/19(月) 12:36:53.71ID:ChF0jSyn
4個目のスタート地点の壁を許しても、3個目の答えが間違えてるやん?
[-1,1]の壁を1回透過しないとゴールにたどり着けないやん?

まあ [*いしのなかにいる*] は許されないと思うけどw

172デフォルトの名無しさん2019/08/19(月) 12:50:21.54ID:78Wz1qhX
>>171
あぁ、なるほど、先において起動させる前提なのか。
オレ、動的にターン制で考えてたわ。

173デフォルトの名無しさん2019/08/19(月) 13:04:09.25ID:ChF0jSyn
動的ターン制って考えは思いつかんかった
その考えなら>>155でも問題ないな

174デフォルトの名無しさん2019/08/19(月) 13:05:56.48ID:78Wz1qhX
握手(非強制)

175さまよえる蟻人間 ◆T6xkBnTXz7B0 2019/08/19(月) 13:45:26.16ID:5pda5jNo
部屋の形を表すビットマップ画像、もしくは一個以上の多角形でいいよ。

176さまよえる蟻人間 ◆T6xkBnTXz7B0 2019/08/19(月) 13:49:12.41ID:5pda5jNo
誤差は気にしない、気にしない。

177さまよえる蟻人間 ◆T6xkBnTXz7B0 2019/08/19(月) 13:53:20.88ID:5pda5jNo
>>173
壁をいつ置くかの記述がなかった、設問の不備ということで、正解、にしときます。すみません。

178デフォルトの名無しさん2019/08/19(月) 21:12:29.11ID:78Wz1qhX
及第点!

179デフォルトの名無しさん2019/08/19(月) 21:48:51.89ID:KFTDhNgP
コテのくせに偉そうだな

180デフォルトの名無しさん2019/08/20(火) 03:10:44.70ID:p19J/GFP
アスペばっかやんけこのスレ

181デフォルトの名無しさん2019/08/23(金) 16:30:48.96ID:GCcQKmFF
>>32
perl5
http://ideone.com/1qwl1U

ずいぶん前のお題だが面白い回答ができたので再提出
再帰する正規表現に perl-code 内蔵の正規表現
たぶんウルトラレア

182デフォルトの名無しさん2019/08/27(火) 08:48:20.54ID://c3Bn/y
>>4 Java
https://ideone.com/JHb8WE

>>5-6
> T = std::max(T,UI(mt));
> if (T >= C) { Re++; }
保持してる最大値でもう一回振るかどうか決めちゃってないかい?

183デフォルトの名無しさん2019/08/27(火) 20:29:01.48ID:ZWZUVJ+Q
>>182
振ったダイスが閾値超えてたら次の回を一回プラスしてる。
閾値C以上ならという判断。

184デフォルトの名無しさん2019/08/27(火) 20:38:02.13ID:ZWZUVJ+Q
あ、勘違いしてた。ちょっと待ってて。

185デフォルトの名無しさん2019/08/27(火) 20:41:11.53ID:ZWZUVJ+Q
>>4
https://ideone.com/1zA9kL
C++。フォークして修正してみた。これでいいかなぁ。

186デフォルトの名無しさん2019/08/27(火) 21:01:10.99ID://c3Bn/y
俺のとあってるし多分いいんじゃね?わからんが
でも>>5-6の時点で出題者からの突っ込みがないのが気になる
出題者出てきてー

187デフォルトの名無しさん2019/08/27(火) 21:06:40.25ID:ZWZUVJ+Q
https://ideone.com/XIuQ53
しつこいけど、変数名のかぶりが気持ち悪かったので書き直した。
それと、手元でデバッグ軽くやっておいた。

188デフォルトの名無しさん2019/08/27(火) 21:10:12.33ID:ZWZUVJ+Q
>>186
そりゃよかった。
出題者に宿題解かされたかな??

189デフォルトの名無しさん2019/08/27(火) 22:42:10.07ID:ZWZUVJ+Q
お題:値が変更不可能でインデックスだけ参照できるシャッフルされた配列を何らかの方法でソートする。その際配列や値のコピーは取れない。
C++でいう、constの配列をなんとか整列してみましょう。

自分の答え。:https://ideone.com/4S932i

190デフォルトの名無しさん2019/08/28(水) 00:04:27.28ID:4LHTj8UL
>>189 Perl5

use List::Util shuffle;

@a = shuffle 1..10;
@ix = 0..$#a;
print "@a\n";
@iy = sort{$a[$a] <=> $a[$b]} @ix;
print "@a[@iy]\n";

実行例
~ $ perl 15_189.pl
5 2 4 8 3 10 6 9 1 7
1 2 3 4 5 6 7 8 9 10

191デフォルトの名無しさん2019/08/28(水) 00:57:09.32ID:iZEqAFR9
激お題:自動プログラミングプログラムを作るか日本語で説明せよ。方法は各自の言語にゆだねる。

https://ideone.com/2UWc8g
自分は上記のようなものを作った。
4kb位のプログラムができるのに多分数年かかる。
コンパイラの通ったかというのを取れれば文章的に正しいやつは何かを残していく。
でも、コンパイラに投げる動作はわからないので入れてない。

192デフォルトの名無しさん2019/08/28(水) 01:00:49.34ID:iZEqAFR9
>>190
perlわからないけど、参加してくれてありがとう。
コードが短くて羨ましい。

193デフォルトの名無しさん2019/08/28(水) 01:14:30.34ID:mmOF8lug
>>191 ナンジャそれは、お題でもなんでもない。 まず日本語の勉強をして出直してこい。
お題も人に解る様に出せないような人間はプログラマの素質はない。

194デフォルトの名無しさん2019/08/28(水) 01:51:57.69ID:iZEqAFR9
>>193
どこが解りにくかったですか?
テストコードは、言語で使える英数記号類を全探索するモノです。

195デフォルトの名無しさん2019/08/28(水) 12:29:21.50ID:gV1iThk/
>>194
>>191全体

196デフォルトの名無しさん2019/08/28(水) 14:09:15.46ID:iZEqAFR9
>>195
お題と余談が書いてあるだけだぞ。
とりあえず、刮目して自動プログラミングプログラムを作ってください。
作れなさそうなら、概要を日本語で説明してください。

197デフォルトの名無しさん2019/08/28(水) 14:20:49.15ID:iHRPACN2
まず自動プログラミングプログラムってなんだよ
お前の造語なんか知らんわ

198デフォルトの名無しさん2019/08/28(水) 14:40:15.76ID:9ymulh1y
ドメイン特化言語作れってことか?

199デフォルトの名無しさん2019/08/28(水) 14:40:49.41ID:gV1iThk/
>>189
Kotlin
https://paiza.io/projects/hCnNPeSohDhcerAL2MMqag

こんなので良いのかな?

厳密に言ったら最後の出力文字列を作る時の map で値が取り出されて新たなリスト作るからコピーされちゃってんだけどね。

200デフォルトの名無しさん2019/08/28(水) 14:47:42.49ID:iZEqAFR9
「自動プログラミング」「プログラム」ですが何か。
DSLじゃないわ。

201デフォルトの名無しさん2019/08/28(水) 14:52:51.27ID:CKrqMRiB
1文字ごとにカンマが入って空白or改行を使わないプログラミング言語ってなんだろう…?
4kb(この表記だとビットかバイトかわからん)が数年で行けるってどういう計算だろう…?

202デフォルトの名無しさん2019/08/28(水) 14:59:27.89ID:iZEqAFR9
>>199
暗黙変数があるとオレ、フリーズしちゃうなぁ。
やったことない言語だけど、結果はあってると思う。

203デフォルトの名無しさん2019/08/28(水) 15:03:25.48ID:iZEqAFR9
>>201
文字の列挙のリストには抜けがあるかもしれない。
C++は改行しなくても空白さえあればかける気がするけど。

なお、字数が増えれば増えるほど遅くなる。

とりあえず、実行してみればわかるけど、検索文字を総当たりしてるだけだからね。
んで、コンパイラに投げて通るかどうかのチェック入れないといけないんだ。

204デフォルトの名無しさん2019/08/28(水) 15:06:25.36ID:iZEqAFR9
>>201
あぁ、指摘には感謝しておく。
4kbは大体4千字くらいか。

205デフォルトの名無しさん2019/08/28(水) 15:59:11.53ID:CKrqMRiB
字数が増えれば増えるほど遅くなる、の遅くなり具合がわかってない気がする
使用する文字の種類を60とした場合、総当たりで毎秒10億個生成できても19年で10文字くらいだよ

206デフォルトの名無しさん2019/08/28(水) 16:09:46.11ID:DKDzG5Os
ただの無限の猿定理では?

207デフォルトの名無しさん2019/08/28(水) 16:18:28.21ID:iZEqAFR9
>>205
うほ!そんな遅いんかいな。
オーダーよりパッションで作ったのでそこまで考えてない。
それが・・・現実・・・!!!

>>206
そんなかんじだねぇ。

208デフォルトの名無しさん2019/08/28(水) 16:19:08.51ID:DKDzG5Os
設問が悪い。
自動プログラミングプログラムの出力が不正でなければ良い→コンパイルエラーないしはランタイムエラーを出さない、で良いの?

phpのソースを書き出せば問題ない。
ランダムな文字列を出力し続けても、文字空間が64文字であれば、5文字目以降、毎回1/1073741824で失敗するがそれ以外のケースで自分自身を表示する正しいプログラムになる。

209デフォルトの名無しさん2019/08/28(水) 16:42:26.29ID:e0ao7N2r
>>200 自動プログラミングが何で数字の羅列なんだよ。
何処がプログラミングだよ。 こんな物どんなコンパイラを通したら意味を持ったプログラムになるんだよ。

210デフォルトの名無しさん2019/08/28(水) 16:43:40.35ID:e0ao7N2r
>>200 自分が日本語で説明してみろよ。

211デフォルトの名無しさん2019/08/28(水) 17:16:03.37ID:iZEqAFR9
>>209
エーっと、C/C++はポインタがあるので実行したマシン破壊する確率は高いな。
わざと文書的に正しければと書いてあるんだが、気づいてないな。

>>208
そうですなぁ。チェッカーがエラーを吐かないでよかった気がする。

212デフォルトの名無しさん2019/08/28(水) 17:16:54.34ID:iZEqAFR9
とりあえず、絶不評なので>>191は終了します。
お付き合いいただきありがとうございました。

213デフォルトの名無しさん2019/08/28(水) 17:33:20.06ID:DKDzG5Os
ガチでやるなら遺伝的アルゴリズムで遊んだほうが面白そうな話題ではある。
総当たりは分が悪い。

214デフォルトの名無しさん2019/08/28(水) 18:50:08.98ID:sIwi/wTh
みんなまじめに小学生の相手して偉いなぁ

215デフォルトの名無しさん2019/08/28(水) 19:02:24.38ID:31wF8+fr
ネットでプログラムとかコードとかの記事検索して予約語が含まれるセンテンスをコピペするプログラムとかどう?(゚∀゚)<これを自動プログラミングと呼べるかどうか知らんけど

216デフォルトの名無しさん2019/08/28(水) 19:28:19.63ID:gV1iThk/
>>212
最後まで何をやらせたいのかわからなかった。

217デフォルトの名無しさん2019/08/28(水) 20:50:01.23ID:f9cLfftu
>>214
そいつは小学生じゃなくて
わりと高齢の池沼だと思う

218デフォルトの名無しさん2019/08/29(木) 00:02:26.73ID:gFHz9oC8
まあ例のコテロートルだろうな

219さまよえる蟻人間 ◆T6xkBnTXz7B0 2019/08/29(木) 00:48:42.64ID:5IzqEHY7
お題: 入力として任意の長さのバイト列(半角アルファベット)が与えられる。入力を左から読み取っていくとき、
読み込まれるバイトの状態遷移を表すデータまたは画像を出力せよ。ただし、初期状態は'^'、終了状態は'$'で
表すものとし、状態遷移図のノードには重複がないものとする。

例)
"AKDAK"

^: A.
A: K.
K: D$.
D: A.
$: .

220デフォルトの名無しさん2019/08/29(木) 01:15:35.61ID:goo8Bnc2
mousukosikangaetekarasyutudasisiroyokusokotega

221さまよえる蟻人間 ◆T6xkBnTXz7B0 2019/08/29(木) 03:44:38.74ID:+saAg95g
>>220
kantansugitakana?

222デフォルトの名無しさん2019/08/29(木) 11:53:46.40ID:DcYjq8Qg
nande2do$ga deterunda?

223デフォルトの名無しさん2019/08/29(木) 13:28:32.46ID:gjTy67rx
>>219
> 読み込まれるバイトの状態遷移を表すデータまたは画像

とは何か?

224さまよえる蟻人間 ◆T6xkBnTXz7B0 2019/08/29(木) 20:14:38.43ID:+saAg95g
>>223
状態遷移図。

225デフォルトの名無しさん2019/08/29(木) 20:21:57.74ID:1SU6nQHs
ループまで検出シロっていってるのかいな?

226デフォルトの名無しさん2019/08/30(金) 00:51:59.58ID:0mnJOhtL
>>222
D$は、Dに遷移するか、または、$に遷移するって意味じゃないかな

227デフォルトの名無しさん2019/08/30(金) 01:22:20.46ID:Knt08H1L
ちゃうやろJK
edgeの終端が二股は有効グラフではNGやで

228デフォルトの名無しさん2019/08/30(金) 06:09:58.43ID:N+Bub+CM
お題
1億以下の同じ数字でできている数(1,22,777など)をすべて表示する

229デフォルトの名無しさん2019/08/30(金) 06:52:02.20ID:BnHn7wdj

230デフォルトの名無しさん2019/08/30(金) 06:53:07.28ID:BnHn7wdj
0抜けてた悔しい

231デフォルトの名無しさん2019/08/30(金) 07:10:25.46ID:N+Bub+CM
>>228
自然数を対象とします。なので0は対象外。

232デフォルトの名無しさん2019/08/30(金) 10:00:13.13ID:/ZgOmfmJ
>>228 Ruby

p (1...9).flat_map{|i| (1..9).map{|j| j * (10**i - 1) / 9}}

# => [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44, 55, 66, 77, 88, 99,
111, 222, 333, 444, 555, 666, 777, 888, 999, 1111, 2222, 3333,
4444, 5555, 6666, 7777, 8888, 9999, 11111, 22222, 33333, 44444,
55555, 66666, 77777, 88888, 99999, 111111, 222222, 333333,
444444, 555555, 666666, 777777, 888888, 999999, 1111111,
2222222, 3333333, 4444444, 5555555, 6666666, 7777777, 8888888,
9999999, 11111111, 22222222, 33333333, 44444444, 55555555,
66666666, 77777777, 88888888, 99999999]

233デフォルトの名無しさん2019/08/30(金) 10:54:33.08ID:TOyFnU58
>>228 Google Sheets
=ARRAYFORMULA(REPT(ROW(1:9), COLUMN(A:H)))

プログラミングのお題スレ Part15 	YouTube動画>1本 ->画像>14枚

234デフォルトの名無しさん2019/08/30(金) 11:37:28.31ID:Kz4M8rdT
>>233
評価。

235デフォルトの名無しさん2019/08/30(金) 12:26:06.17ID:VkI78Ia/
>>228
同じ数字でできている数って?どういう意味?

236デフォルトの名無しさん2019/08/30(金) 12:27:00.95ID:VkI78Ia/
あ、わかった。ごめん。

237デフォルトの名無しさん2019/08/30(金) 13:32:59.48ID:Tn7+4gKU
>>228 Pharo/Squeak Smalltalk

(1 to: 8) gather: [:n | (1 to: 9) collect: [:m | (Array new: n withAll: m) polynomialEval: 10]]

#(1 2 3 4 5 6 7 8 9 11 22 33 44 55 66 77 88 99 111 222 333 444 555 666 777 888 999
1111 2222 3333 4444 5555 6666 7777 8888 9999 11111 22222 33333 44444 55555 66666
77777 88888 99999 111111 222222 333333 444444 555555 666666 777777 888888 999999
1111111 2222222 3333333 4444444 5555555 6666666 7777777 8888888 9999999 11111111
22222222 33333333 44444444 55555555 66666666 77777777 88888888 99999999)

238デフォルトの名無しさん2019/08/30(金) 16:39:32.33ID:BnHn7wdj
遅いけど perl5
for (1..100_000_000) { print if s{\A (.) \1* \z}{$& }x }
1 2 3 4 5 6 7 8 9 11 22 33 44 55 66 77 88 99 111 222 333 444 555 666 777 888 999
1111 2222 3333 4444 5555 6666 7777 8888 9999 11111 22222 33333 44444 55555 66666
77777 88888 99999 111111 222222 333333 444444 555555 666666 777777 888888 999999
1111111 2222222 3333333 4444444 5555555 6666666 7777777 8888888 9999999 11111111
22222222 33333333 44444444 55555555 66666666 77777777 88888888 99999999

239デフォルトの名無しさん2019/08/30(金) 18:36:49.98ID:9N6Bd3Tw
>>91
Haskell

main = mapM_ (print.only)
[
[1,1,1,1,2,2,2,3,3,4],
[1,2,3,4,5,5,4,3,2,1],
[3,1,4,1,5,9,2,6,5,3,5]
]

only ns = f [xs | xs <- (group.sort) ns, length xs == 1]
where
f [] = -1
f ([x]:_) = x


ワンライナーも出来るけど、何やってるか読み取り辛い。

only ns = if lst == [] then -1 else (head.head) lst where lst = [xs | xs <- (group.sort) ns, length xs == 1]

240デフォルトの名無しさん2019/08/30(金) 19:34:06.70ID:9dkB4daP
>>228
あほ

241デフォルトの名無しさん2019/08/30(金) 23:12:37.99ID:aECV+bPz
>>228 Perl5

@s = map{$a=$_; map{$_ x $a} 1..9} 1..8;
print "@s";

実行;
~ $ perl 15_228.pl
1 2 3 4 5 6 7 8 9 11 22 33 44 55 66 77 88 99 111 222 333
444 555 666 777 888 999 1111 2222 3333 4444 5555 6666
7777 8888 9999 11111 22222 33333 44444 55555 66666 77777
88888 99999 111111 222222 333333 444444 555555 666666 777777
888888 999999 1111111 2222222 3333333 4444444 5555555 6666666
7777777 8888888 9999999 11111111 22222222 33333333 44444444
55555555 66666666 77777777 88888888 99999999

242デフォルトの名無しさん2019/08/30(金) 23:55:50.54ID:olp7cGEF

243デフォルトの名無しさん2019/08/31(土) 05:23:58.92ID:aUqRNM/Y
a = 0
for i = 1, 8 do
  a = a * 10 + 1
  for j = a, a * 9, a do
    print(j)
  end
end
>>228 Lua

244デフォルトの名無しさん2019/08/31(土) 08:18:15.37ID:rAMLyuja
>>228
Haskell

import Data.List

main = (print.sort.concat) [[(sum.take a) [x * 10 ^ y | y <- [0..9]] | x <- [1..9]]| a <- [1..8]]

245デフォルトの名無しさん2019/08/31(土) 08:45:29.92ID:h26kuCJS
お題
>>228 を求めることができる
特に最適化を施さないナイーブな実装(例えば>>238 )を書いて
その実行にかかる時間(ミリ秒、秒等)を計測し出力してください

なお遅い言語処理系で1億以下が無理な場合は1千万以下でも構いません

246デフォルトの名無しさん2019/08/31(土) 10:03:16.75ID:4OmVCRqb
time perl -e 'for (1..100_000_000) { print if s{\A (.) \1* \z}{$& }x }'
1 2 3 4 5 6 7 8 9 11 22 33 44 55 66 77 88 99 111 222 333 444 555 666 777 888 999
1111 2222 3333 4444 5555 6666 7777 8888 9999 11111 22222 33333 44444 55555 66666
77777 88888 99999 111111 222222 333333 444444 555555 666666 777777 888888 999999
1111111 2222222 3333333 4444444 5555555 6666666 7777777 8888888 9999999 11111111
22222222 33333333 44444444 55555555 66666666 77777777 88888888 99999999
real 1m30.031s
user 1m29.046s
sys 0m0.093s

247デフォルトの名無しさん2019/08/31(土) 10:56:28.19ID:Z8IDlpBx
>>245 Pharo/Squeak Smalltalk

| time ans |

time := [ans := (1 to: 100000000) select: [:n | n asString asSet size = 1]] timeToRun.
^{time. ans}

"Core m3-8100Y => an Array(0:00:02:55.58 #(1 2 3 4 5 6 7 8 9 11 22 33 44 55 66 77 88 99 111
222 333 444 555 666 777 888 999 1111 2222 3333 4444 5555 6666 7777 8888 9999 11111
22222 33333 44444 55555 66666 77777 88888 99999 111111 222222 333333 444444 555555
666666 777777 888888 999999 1111111 2222222 3333333 4444444 5555555 6666666 7777777
8888888 9999999 11111111 22222222 33333333 44444444 55555555 66666666 77777777
88888888 99999999)) "

248デフォルトの名無しさん2019/08/31(土) 10:58:35.47ID:8/I1hpDH
>>245 Perl5、1千万以下、CPU: Core i5 M520@2.4GHz

use Time::HiRes qw(gettimeofday tv_interval);
$t0 = [gettimeofday];
for (1..1e8) {
 push @s, $_ if /^(.)\1*$/;
}
$elapse = tv_interval($t0, [gettimeofday]);
printf "@s\n%.3f[s]\n", $elapse;

実行結果
~ $ perl 15_245.pl
1 2 3 4 5 6 7 8 9 11 22 33 44 55 66 77 88 99 111 222 333 444 555 666 777 888 999
1111 2222 3333 4444 5555 6666 7777 8888 9999 11111 22222 33333 44444 55555 66666
77777 88888 99999 111111 222222 333333 444444 555555 666666 777777 888888 999999
1111111 2222222 3333333 4444444 5555555 6666666 7777777 8888888 9999999
49.732[s]

249デフォルトの名無しさん2019/08/31(土) 11:35:18.32ID:weQXwxl4
>>245 Java
https://ideone.com/0ddTLO

Pentium G6950@2.8GHz
整数演算: 1,073ms
正規表現: 46,450ms

Ideone
整数演算: 495ms
正規表現: 2,592ms (これだけ1千万以下で計測)

250デフォルトの名無しさん2019/08/31(土) 12:36:03.19ID:E0AleLqQ
>>120
Haskell

main = map (\n -> f n 0) [15,93,77,123]

f n a | n < 10 = (n,a)
f n a = f (product [read [x] | x <- show n]) (a + 1)

251デフォルトの名無しさん2019/08/31(土) 12:47:22.94ID:8/I1hpDH
>>245 c99、 Core i5 M520@2.4GHz

#include <time.h>
#include <math.h>
#include <stdio.h>
int main() {
 int b = 1, n = 1;
 clock_t s = clock();
 for (int e = 1; e <= 9; e++) {
  int j = pow(10, e) - pow(10, e - 1);
  for (int i = 1; i <= j; i++) {
   if (n == (n / b) * b)
    printf("%d ", n);
   n++;
  }
  b *= 10; b += 1;
 }
 clock_t e = clock();
 printf("\n%.3f[s]\n", (double)(e - s)/1e6);
}

実行結果
$ cc -std=c99 -O2 15_245.c -lm
$ time ./a.out
1 2 3 4 5 6 7 8 9 11 22 33 44 55 66 77 88 99 111 222 333 444 555 666 777
888 999 1111 2222 3333 4444 5555 6666 7777 8888 9999 11111 22222 33333
44444 55555 66666 77777 88888 99999 111111 222222 333333 444444 555555
666666 777777 888888 999999 1111111 2222222 3333333 4444444 5555555
6666666 7777777 8888888 9999999 11111111 22222222 33333333 44444444
55555555 66666666 77777777 88888888 99999999 111111111 222222222
333333333 444444444 555555555 666666666 777777777 888888888 999999999
3.890[s]

252デフォルトの名無しさん2019/08/31(土) 13:39:39.88ID:u8Io5isX
>>228
https://ideone.com/0Hy6a6
C++。いつもなら数え上げで書くところだが、今回は趣向を変えてみた。

253デフォルトの名無しさん2019/08/31(土) 13:43:00.43ID:weQXwxl4
>>252
>>231
> 自然数を対象とします。なので0は対象外。
すぺしゃらいずいらねw

254デフォルトの名無しさん2019/08/31(土) 13:44:48.13ID:u8Io5isX
ぶー!!!
・・・これが・・・!!!・・・これこそが・・・!!!
・・・だ・・・!!!・・・だそく・・・!!!!

255デフォルトの名無しさん2019/08/31(土) 13:45:31.08ID:u8Io5isX
間に合った。 >>253 サンキュー。

256デフォルトの名無しさん2019/08/31(土) 15:12:57.30ID:RMcMP/J8
>>245

Haskell ナイーブな方
Atomコア(Celeron N3050@1.6GHz)
1億以下で約31秒

main = print [x | x <- [1..100000000], let (s:ss) = show x, all (== s) ss]

time ./zorome
real 0m31.426s
user 0m31.123s
sys 0m0.248s

ナイーブな方は探すアルゴリズムで、最適化の方(>>244)は数列を作るアルゴリズム。
(1から99999999までの(1桁から8桁までの)ゾロ目を作る)

[
[[1],[1,10],[1,10,100]...],
[[2],[2,20],[2,20,200]...],
...,
[[9],[9,90],[9,90,900]...]]
]

って言う数列を生成して、合計出してフラットにしてソートしてるだけだよ。
(他の言語のも多少の手順の違い(フラット化とソートしないで「合計出した時点で表示」を縦方向に繰り返したり)はあるけど、基本のアルゴリズムとしては同じ)

257デフォルトの名無しさん2019/09/01(日) 18:40:58.06ID:lGQcNl0x
お題: nバイトのデータxをビット列にして出力しなさい

258デフォルトの名無しさん2019/09/01(日) 19:01:25.42ID:KcbCTlPY

259デフォルトの名無しさん2019/09/01(日) 19:32:51.46ID:VqTK6sxa
>>257 Perl5

$n = 24;
@a = map{int rand 255} 1..$n;;
print "@a\n";
@b = map{sprintf'%08b', $_} @a;
$" = '';
print "@b\n

実行例
~ $ perl 15_257.pl
155 105 94 58 85 82 124 6 242 94 119 175 69 205 95 25 79 154 237 248 169 254 46 93
100110110110100101011110001110100101010101010010011111000000011011110010010111100111011110101111010001011100110101011111000110010100111110011010111011011111100010101001111111100010111001011101

260デフォルトの名無しさん2019/09/01(日) 19:42:33.97ID:931SdLmv

261デフォルトの名無しさん2019/09/01(日) 20:53:53.13ID:kwhZ+eUh
>>259
rand 255 ⇒ 256 の方がヨカタ

262デフォルトの名無しさん2019/09/01(日) 21:45:06.97ID:CELgatxy
>>259 コピペミス
print "@b\n

print "@b\n";

263デフォルトの名無しさん2019/09/02(月) 02:56:48.97ID:oioFkvSQ
>>120

>>125 みたいに、1桁になるまでの変化の様子もリストで渡すようにした。

Haskell

main = mapM put [4,15,93,77,123,277777788888899]

put x = (putStrLn.concat) [show x," -> ",show a,
" loop and value is ",show n,". list = ",show l]
where (l,a,n) = f [] 0 x

f l a n| n < 10 = (reverse l,a,n)
f l a n = f (m:l) (a + 1) m
where m = product [read [x] | x <- show n]

264デフォルトの名無しさん2019/09/02(月) 02:57:17.93ID:oioFkvSQ
out:

4 -> 0 loop and value is 4. list = []
15 -> 1 loop and value is 5. list = [5]
93 -> 3 loop and value is 4. list = [27,14,4]
77 -> 4 loop and value is 8. list = [49,36,18,8]
123 -> 1 loop and value is 6. list = [6]
277777788888899 -> 11 loop and value is 0. list = [4996238671872,438939648,4478976,338688,27648,2688,768,336,54,20,0]

265デフォルトの名無しさん2019/09/02(月) 06:37:20.55ID:6t6D41pn
>>257 Ruby

n = 16
x = Array.new(n){rand(0x100)}
b = n.times.reduce(0){|s, i| x[~i] * 0x100**i + s}

puts "%p => %0#{n}b" % [x, b]

# => [31, 95, 43, 108, 105, 54, 1, 122, 100, 48, 137, 121, 131, 188, 105, 244] =>
11111010111110010101101101100011010010011011000000001011110100110010000110000100010010111100110000011101111000110100111110100

266デフォルトの名無しさん2019/09/02(月) 06:39:28.02ID:6t6D41pn
typo

puts "%p => %0#{n * 8}b" % [x, b]

# => [31, 95, 43, 108, 105, 54, 1, 122, 100, 48, 137, 121, 131, 188, 105, 244] =>
00011111010111110010101101101100011010010011011000000001011110100110010000110000100010010111100110000011101111000110100111110
100

267デフォルトの名無しさん2019/09/02(月) 12:10:04.08ID:rT9Zixkt
>>233
勉強になりましたw

268デフォルトの名無しさん2019/09/02(月) 12:49:28.87ID:YYsNPCXj
>>257
https://ideone.com/L5lkiU
C++。気が向いたのでstd::byte動かしてみたけど、ideonが対応してなくてグレードダウンした・・・。

269デフォルトの名無しさん2019/09/02(月) 15:10:33.79ID:rT9Zixkt
全滅エンドか!?

270デフォルトの名無しさん2019/09/02(月) 21:31:28.92ID:qij/0ceW

271デフォルトの名無しさん2019/09/03(火) 02:08:35.68ID:FeqFVaAA
>>228
aa=$(echo ^{1..9}\\\{1,\\\}\$\\\| |sed -e "s/ //g; s/\\\|$//;"); seq 1 $((10**8)) |grep -e "$aa"

272デフォルトの名無しさん2019/09/03(火) 03:13:14.41ID:4SpqHsfM
数学的な解き方わからず
このx>=3の自然数解を見つける

a>b、 (a^2 - b^2)^x + (2ab)^y = (a^2 + b^2)^z

2732722019/09/03(火) 05:28:10.06ID:VYSmTHvF
a=2 b=1で 3^x + 4^y = 5^z
は解無し

274デフォルトの名無しさん2019/09/03(火) 08:27:27.03ID:Sk67xQLY
a b は実数? 正の整数?

275デフォルトの名無しさん2019/09/03(火) 08:38:58.69ID:VYSmTHvF
出てくる文字、a b x y z はすべて自然数、正の整数です

276デフォルトの名無しさん2019/09/03(火) 08:39:49.44ID:03sYx3ae
a > b > 0 なの?
0 > a なら意味ないんだけど
出題者が問題をそもそも理解してなさそう

277デフォルトの名無しさん2019/09/03(火) 08:44:26.60ID:VYSmTHvF
すべて1以上の整数として、
x>=3、  a>b、  (a^2 - b^2)^x + (2ab)^y = (a^2 + b^2)^z
を満たすものを見つける

そこでa=2 b=1の場合は解無しがわかっていて
任意のa,bに対して、(a^2 - b^2)^2 + (2ab)^2 = (a^2 + b^2)^2 が成り立つことも判っています

278デフォルトの名無しさん2019/09/03(火) 08:57:07.87ID:VYSmTHvF
指数2だと必ず成立するのはこれだからです
指数3以上で解けるのはどれか、あるかです


ピタゴラス数は無数にある
中学校の数学で習う定理に、「三平方の定理」或いは「ピタゴラスの定理」と呼ばれるものがある。
a^2 + b^2 = c^2 を満たす正の整数の組 (a, b, c) のことを、ピタゴラス数と呼ぶ。
例えば、(3, 4, 5) や (5, 12, 13) などは有名なピタゴラス数である。

ピタゴラス数が無限個存在する
任意の原始的ピタゴラス数 が (|m^2 ? n^2|, 2mn, m^2 + n^2) の形で表せることを示す。
https://nue2004.info/knowledge/knowledge97.htm

279デフォルトの名無しさん2019/09/03(火) 09:27:31.81ID:fMS/rXUz
\   / .::::::::::::::::::::::::;;:;;::,ッ、:::::::::   )  く   数  す
  \ l  ,ッィrj,rf'"'"'"    lミ::::::: く   れ  学  ま
     Y           ,!ミ::::::: ヽ  な  野  な
`ヽ、  |           くミ:::::::: ノ   い  郎  い
     |、__  ャー--_ニゞ `i::::,rく   か  は
``''ー- ゝ、'l   ゙̄´彑,ヾ   }::;! ,ヘ.)  !  帰
      ゙ソ   """"´`     〉 L_      っ
      /          i  ,  /|    て    r
≡=- 〈´ ,,.._        i  't-'゙ | ,へ     ,r┘
,、yx=''" `ー{゙ _, -、    ;  l   レ'  ヽr、⌒ヽ'
        ゙、`--─゙      /!         `、
  _,,、-     ゙、 ー''    / ;           `、
-''"_,,、-''"    ゙、    /;;' ,'  /         、\
-''"    /   `ー─''ぐ;;;;' ,'  ノ      
   //    /     ヾ_、=ニ゙

280デフォルトの名無しさん2019/09/03(火) 13:20:54.78ID:SA/JpX4x
どう考えてもスレチだよなぁ
必要なのはプログラムじゃなく紙と鉛筆っぽいし

281デフォルトの名無しさん2019/09/03(火) 13:43:33.95ID:WMTa8Qij
このスレは数学嫌いな奴多いなぁ
べつにちょっとぐらいいいじゃないか

282デフォルトの名無しさん2019/09/03(火) 13:52:03.24ID:/IQ7x87c
むしろこのスレは本当にコンピューター使わないと解けないような
パズル問題とかの方が解答つかないことが多い

283デフォルトの名無しさん2019/09/03(火) 14:53:42.89ID:R1k47NOJ
掛け算があるので加速的に左の解が増えるので追い付かなくなる予感。

284デフォルトの名無しさん2019/09/03(火) 15:14:05.99ID:R1k47NOJ
>>272
https://ideone.com/NIuUAj
C++。コードが正しければ解ナシ。

285デフォルトの名無しさん2019/09/03(火) 15:15:29.58ID:R1k47NOJ
(a^2 - b^2)^x + (2ab)^y=0
(a^2 + b^2)^z=0

の連立方程式解くとよさそうに見えるが。
解くのむずくて俺は無理。

286デフォルトの名無しさん2019/09/03(火) 15:28:15.62ID:03sYx3ae
>>285
何かの冗談? それじゃ明らかに解無しなんですが

287デフォルトの名無しさん2019/09/03(火) 15:31:15.82ID:FbgAnO5f
>>257 Ruby
N = 10
X = Random.new.bytes(N)
puts X.unpack('C*').map{|c| '%02X' % c}.join(' '), X.unpack('B*')

結果
82 30 D4 E1 07 32 27 3E A2 E5
10000010001100001101010011100001000001110011001000100111001111101010001011100101

288デフォルトの名無しさん2019/09/03(火) 15:38:54.45ID:R1k47NOJ
自分で移項して解こうと思ったがキャパ超えててギブアップ。

>>286
解があることは証明されているのですか?数学ダメなんだよ。

289デフォルトの名無しさん2019/09/03(火) 15:40:16.69ID:03sYx3ae
>>288
(a^2 + b^2)^z=0 <=> a = 0 and b = 0
a > b はどこ行ったの?
てか勝手に両辺=0にしちゃその時点で必要性満たしてないよね

290デフォルトの名無しさん2019/09/03(火) 15:45:42.09ID:R1k47NOJ
数学ダメなのでセオリー知らないんだけど。マジ解らん。

正直すまんかった。

291デフォルトの名無しさん2019/09/03(火) 15:47:50.03ID:R1k47NOJ
あと、ちょっとだけ。
>>289
俺はaとbをゼロには規定してないよ。

292デフォルトの名無しさん2019/09/03(火) 15:50:06.71ID:gHL/qcPl
>>284
18行目の不等号逆じゃない?
x=y=z=2の時に出力出るはずだけど。

(元のお題ではxは3以上)

293デフォルトの名無しさん2019/09/03(火) 15:52:04.84ID:R1k47NOJ
>>292
https://ideone.com/ZNkEYb
弄ってみた。

294デフォルトの名無しさん2019/09/03(火) 15:56:44.07ID:gHL/qcPl
doubleの演算誤差出てるなwwww

295デフォルトの名無しさん2019/09/03(火) 15:57:29.86ID:R1k47NOJ
>>293 直しました。
大きな数で発見できているかな?

296デフォルトの名無しさん2019/09/03(火) 16:00:10.37ID:R1k47NOJ
いや、精度飛んでて、うまく測れてないな。

297デフォルトの名無しさん2019/09/03(火) 16:01:59.48ID:gHL/qcPl
演算誤差ではないか 誤差で=になるレベルじゃない
AとB出力してみ?

298デフォルトの名無しさん2019/09/03(火) 16:02:55.16ID:R1k47NOJ
多倍長無いと証明には至らないな。
というわけで今回は抜けるわ。
乱文申し訳ない。

299デフォルトの名無しさん2019/09/03(火) 16:03:35.69ID:gHL/qcPl
あ、doubleからstd::size_tになってたw

300デフォルトの名無しさん2019/09/03(火) 16:10:08.37ID:R1k47NOJ
色々弄ってみたけど、これで凍結しておくわ。
すまんかった。

301デフォルトの名無しさん2019/09/03(火) 16:42:54.68ID:03sYx3ae
>>291
規程してないよって言ってるけど
貴方が提示した条件は a=0 and b=0 と同値ですよって指摘してるんですけど難しいですか私が言ってる事

302デフォルトの名無しさん2019/09/03(火) 16:46:54.03ID:R1k47NOJ
>>301
正直言えば難しいね。手を出さなければよかったとちょっと思ってる。
すまんな。

303デフォルトの名無しさん2019/09/03(火) 21:38:14.04ID:MpIMqTuu
>>277
なんでxだけ3以上なの?
yとzは本当に1以上の整数として解いていいの?
aとbは定数として扱うの?
なんなの?

304デフォルトの名無しさん2019/09/03(火) 22:12:17.83ID:VYSmTHvF
x=y=z=2以外の解があるか?

すべて自然数、変数 a>b、 (a^2 - b^2)^x + (2ab)^y = (a^2 + b^2)^z の解

答えしらず。 a=2 b=1だけはいまのところ他にないを証明可能

305デフォルトの名無しさん2019/09/03(火) 22:33:37.84ID:dCTs9gWx

306デフォルトの名無しさん2019/09/03(火) 22:40:59.77ID:MpIMqTuu
>>304
だからxだけ3以上でyとzは1以上の整数として計算していいか聞いてんだけど?
で、もしそうだったとしてなんでxだけ3以上に仮定してんのかも合わせて聞いてんだけど答えろよ

307デフォルトの名無しさん2019/09/04(水) 00:41:31.51ID:5HyNYB53
304は3以上を仮定してない、すべて自然数

308デフォルトの名無しさん2019/09/04(水) 02:57:47.93ID:5U+WeLbN
あーこりゃ致命的に頭悪い奴か
数学も日本語も通じないとは

309デフォルトの名無しさん2019/09/04(水) 07:57:08.75ID:FC7xGJ7s
定理を発見したら著作権で保護されるのかな。

310デフォルトの名無しさん2019/09/04(水) 08:46:01.17ID:HTJbgiFI
日本数学会に提出する前に
大学の教授にみてもらわないと

311デフォルトの名無しさん2019/09/04(水) 09:59:12.24ID:bj6rvw0v
次スレは数学禁止ってスレタイに入れないとな

312デフォルトの名無しさん2019/09/04(水) 10:54:57.98ID:wUnebE5/
>>310
そして手柄を横取りされる定期

313デフォルトの名無しさん2019/09/04(水) 11:24:41.75ID:P7o6e2y0
お題: 平面上にいくつかの円 (内部も含む円) がある
それが重なったり重ならなかったりしていて、最も重なっている箇所ではN個の円が重なっているとする
このとき、各円の座標と半径が与えられた場合にNを返すプログラムを書け

314デフォルトの名無しさん2019/09/04(水) 13:52:37.01ID:aB3hMBX/
半年くらい前にそのお題あったが思いつかなかったんだよなー…モンテカルロなら作れるがw

http://2chb.net/r/tech/1549160513/405

315デフォルトの名無しさん2019/09/04(水) 14:06:48.93ID:HTJbgiFI
それ円周率パイとネイピア数のe の積が
N個の円の重なる唯一の x座標とy座標の円達を与えられて返すの辛くないか?

316デフォルトの名無しさん2019/09/04(水) 14:13:24.75ID:yXyTPmQk
>>315
辛くねえよ
どうやったら方程式解いて超越数が出てくんだよ
ちょっとは考えてからレスしろ

317デフォルトの名無しさん2019/09/04(水) 14:29:48.47ID:HTJbgiFI
例として313が N=4 で、それを与える円4つが
(x-ePi-1)^2+(y-ePi)^2=1
(x-ePi+1)^2+(y-ePi)^2=1
(x-ePi )^2+(y-ePi-1)^2=1
(x-ePi )^2+(y-ePi+1)^2=1
だったら大変かもしれない?

318デフォルトの名無しさん2019/09/04(水) 17:19:01.11ID:reYoOADS
>>273
これ解無しって言ってるけど自明じゃないよね
ホントにあってんのか?

319デフォルトの名無しさん2019/09/04(水) 18:34:12.43ID:6EOP5CCF
>>306
横レスだが
騒ぐ前に元の>>272の問題文を良く見なさい
それで自分で判断できなければ数学的な問題に取り組むのは止めておいたほうが良い

320デフォルトの名無しさん2019/09/04(水) 18:42:19.25ID:8qjE+V3b
>>319
一連のやり取り見て出題者がそこら辺理解してなさそうだったから改めて確認しただけなんですけど
>>272を見ただけでは>>306の全ての質問に答えられないことは明白なのに何いってんの?
数学の論理もわからねえくせに見当違いのお説教してんじゃねえよ

321デフォルトの名無しさん2019/09/04(水) 18:49:05.83ID:A7beDSD/
5chはペアプレイではなくマルチプレイということをお忘れなく。

322デフォルトの名無しさん2019/09/04(水) 19:10:06.78ID:5HyNYB53
>>318
省いててわかりずらいかもしれないがアウトライン。一般化はできないだろう解き方。


3^x + 4^y = 5^z の自然数解は(2,2,2)唯一つ

mod 3で1 ≡ (-1)^z、 z偶数が必要
z=2wとおくと 3^x = (5^w + 2^y) (5^w - 2^y)
簡単な考察で右辺の後項が3の倍数ならば前項は3の倍数になりえないので後項=1、前項=3^xが必要
w偶数とすると結果2式をmod 3で比較して不成立、w奇数が必要
y>=3ならばmod 8で5 ≡ 3^x、任意のxで不成立
y=1ならば解なし

323デフォルトの名無しさん2019/09/04(水) 19:23:20.13ID:5HyNYB53
かいてから考えたら間違ってるところがでてきた
ここまではいいとして、これあってないな


> y>=3ならばmod 8で5 ≡ 3^x、任意のxで不成立

324デフォルトの名無しさん2019/09/04(水) 19:26:32.69ID:5HyNYB53
いやあってた
5^2 ≡ 1 (mod 8)になってしまうとおもったら
w奇数だから、5^3 ≡ 5 (mod 8)だった
5しかでない

325デフォルトの名無しさん2019/09/04(水) 20:01:35.58ID:P7o6e2y0
>>314
あら既出だったのか
Twitterで見つけてきたんだけど、その人もこのスレ見てたのかな
それとも問題自体が有名な問題なのかな?

326デフォルトの名無しさん2019/09/04(水) 22:19:56.37ID:bGWgoiea
少なくとも自分はAOJで見た記憶がある
たしか高校生向けのコンテストの問題だったはず…

327デフォルトの名無しさん2019/09/04(水) 22:31:18.96ID:A7beDSD/
>>313
座標と半径が与えられたら、ひたすらHypotするんだ!!
これ、ゲーム技術だから覚えておくとよいよ。(偉そう

328デフォルトの名無しさん2019/09/04(水) 22:47:39.03ID:5HyNYB53
自作かとおもってたがWikipediaにほぼおなじのあった。解は指数2に限るという。
のってて解けてないとすると難問か


ピタゴラスの定理 - Wikipedia

Jesmanowicz 予想
1956年に Jesmanowicz が以下の予想を提出した。

(a, b, c) を原始ピタゴラス数、n を自然数とする。x, y, z が
(an)^x + (bn)^y = (cn)^z
で自然数解を持つには、x=y=z=2 であることが必要である。

329デフォルトの名無しさん2019/09/04(水) 22:56:59.22ID:5HyNYB53
Jesmanowicz予想で検索


KAKEN 研究期間 2011 ? 2012 不定方程式におけるTerai予想とJesmanowicz予想

まず始めに、Terai予想のケース(1)のP=q=r=2の場合(Jesmanowicz予想)について考察した。
藤田育嗣氏(日本大学)との共同研究で、Jesmanowicz予想を三つ組みa,b,cがある合同条件を満たす場合に証明した。
Pingzhi Yuan氏(華南師範大学)との共同研究では、申請者の以前の研究結果を大幅に拡張することが出来た。
次に、Terai予想のケース(1)の一般的な場合について考察した。
最近、Florian Luca氏(メキシコ自治国立大学モレリア数学研究所)が、以前の研究の多くを(本質的に)一般化する結果を与えた。
その手法は、Baker理論とそのp進版の理論が有効に用いられていた。しかし、その結果は、不完全な点があり、申請者はその部分を補う計算を行なった。

さらに、申請者はTerai予想の類似問題を提起した。それは、
2以上の自然数p,q,rに対して、a^p+b^q=c^rを満たすa,b,cに対して、
指数型ディオファントス方程式c^x+b^y=a^zは、q=r=2かつc=b+1のときに限り自然数解x,y,zを持ち、
そのときにただ一つの自然数解(x,y,z)=(1,1,p)を持つである。
申請者は、Terai予想で扱われている三つ組みa,b,cについて考察を行い、
Baker理論とそのp進版の理論を用いて、いくつかの場合に予想は成立することを証明した。
特に、後半の主張である"解の一意性"を証明した。

最後に、Terai予想では扱われない三つ組みについても研究結果を得た。
まず、Alain Togbe氏(Purdue大学)との共同研究を行い、氏の以前の連続整数に関する研究を広く拡張することが出来た。
また、申請者は、三つ組みがある線形回帰数列の項として与えられる場合に方程式の解を決定した。
それによって寺井伸浩氏(足利工業大学)によって提起されたフィボナッチ数列に関する予想を解決した。
https://kaken.nii.ac.jp/grant/KAKENHI-PROJECT-11J05674/

330デフォルトの名無しさん2019/09/04(水) 23:07:59.22ID:5HyNYB53
完全解決してないが、結構解けてるらしい


早稲田大学整数論セミナーの予定 (2014年度 第5回)

タイトル: 原始ピタゴラス数に関する Jesmanowicz 予想について

アブストラクト: 1956 年, Jesmanowiczはピタゴラス数に関する指数型不定方程式
(m^2 - n^2)^x + (2mn)^y = (m^2 + n^2)^z  は, ただ一つの正の整数解 (x; y; z) = (2; 2; 2) を持つことを予想した.
ただし, m > n, gcd(m; n) = 1, m ≠ n mod 2 を満たす正の整数とする.

Journal of Number Theory の論文 (2014 年) において, n = 2 とき Jesmanowicz 予想が成り立つことを証明した.
これは, 与えられた n > 1 に対し m について何も仮定せず Jesmanowicz 予想が成り立つ最初の結果である.
最先端の楕円曲線や modular formの理論から導かれる一般化された Fermat 方程式に関する結果を用いて, m に何も条件を付けずに Jesmanowicz 予想が成り立つことを証明することができた.

本講演では, これをさらに拡張して, n=2 が奇素数の冪でかつ m > 72n のときJesmanowicz予想が成り立つことを証明できたので紹介する.
これらの結果の系として, n=2 が 50 未満の奇数のとき Jesmanowicz 予想が成り立つことが容易に得られる.

https://www.waseda.jp/sem-wnt/kako/pdf2014/20140516.pdf

331デフォルトの名無しさん2019/09/04(水) 23:25:42.22ID:4CPx11+J

332デフォルトの名無しさん2019/09/05(木) 00:10:35.11ID:ymsvBiyv
>>313
https://ideone.com/DdvszK
C++。暇だったので解いてみた。が、あってるかわからない。

333デフォルトの名無しさん2019/09/05(木) 10:41:35.98ID:jPhMORz8
置く場所の最大サイズ2000*2000くらいまでだとprocessingとかで半透明の円を重ね合わせれば一番濃いところが正解だから合ってるかどうかだいたい見て分かる
rが小数で半径が0.0001から1億くらいまでまちまちだと面倒

334デフォルトの名無しさん2019/09/05(木) 10:53:13.59ID:Wm4c6P24
>>327,331-332
俺とは問題の解釈が違うようだ?

335デフォルトの名無しさん2019/09/05(木) 11:32:41.41ID:JTGocygG
>>334
そいつらはいつものアホやからスルーしなはれ

336デフォルトの名無しさん2019/09/05(木) 13:09:10.29ID:n5jm1pTY
>>326
高校生レベル高いな
まぁアルゴリズムとか高校生でもすごい子いるもんなー
競プロとかすごいもんなー

3373142019/09/05(木) 21:33:33.48ID:Wm4c6P24
>>313 Java
https://paiza.io/projects/iamhQLuhZskbvv3lCIrj5Q
なんか思いつけたので書いた
いつもはideoneやけど、画像出力もしたくなったのでpaiza

入力データは http://2chb.net/r/tech/1549160513/405

338デフォルトの名無しさん2019/09/06(金) 18:11:06.63ID:O7F8x+Ks
>>337
お前いつもスマートだよな

339デフォルトの名無しさん2019/09/06(金) 21:58:05.28ID:h6IBFFVJ
材料グループAと材料グループBがあるとする。
それぞれには、ランダムな固有値を持っており、
固有値の差が、ある数値以下の組み合わせのみ使用可能とする。
ただし、材料グループA、B内の材料は一度使うとなくなるため一度しか組み合わせれない。
それぞれのグループの材料が100ずつあったとして適切に組み合わせれば
全てがマッチングできる。ただ人組でもペアを間違えるとマッチングできない。

こういったことを実現するためには、どういった考え方でプログラミングすればいいでしょうか。

340デフォルトの名無しさん2019/09/06(金) 22:02:46.96ID:adnLBrFU
動的計画法でいいのかな?
オレできねーけど。

341デフォルトの名無しさん2019/09/06(金) 22:06:24.07ID:IlHiLkpw
>>339
各グループの材料を固有値の昇順にソートして小さい方からペア作ってくのではダメなのか?

342デフォルトの名無しさん2019/09/06(金) 22:10:20.13ID:adnLBrFU
A:大<->小
B:小<->大

のペアがましといえばまし。
真ん中がマッチしない可能性はある。

3433392019/09/06(金) 22:10:34.94ID:h6IBFFVJ
なるほど、とても簡単な問いだったのですね。
なんか難しい事ばかり考えていました。

344デフォルトの名無しさん2019/09/06(金) 22:11:12.30ID:5B1pyUbX
diff のアルゴリズムがもうちょっと複雑なのにも対応できるやつじゃなかったか?

345デフォルトの名無しさん2019/09/06(金) 22:14:00.34ID:adnLBrFU
あー、差が以下か。
A:小<->大
B:小<->大

でいいわ。。。
俺もなんか難しいこと考えてた。そーりー。

3463392019/09/06(金) 22:14:53.61ID:h6IBFFVJ
必ずマッチングできない100ずつあったとした場合でも昇順ソートして同じ順位にいるもので、比較してマッチングできれば実施、できなければ上位を参照してマッチングできたら抜けて、できなければさらに上位とマッチングみたいなことをすれば良いのか。

3473392019/09/06(金) 22:23:16.91ID:h6IBFFVJ
あっ違う違う。
昇順にソートして組み合わせるとマッチングできないもの出てきます。
というのも差が最小の組み合わせではなくて、
差がある一定以下である事なので、昇順にソートして隣り合うものではダメです。

少し考えたのですが、全ての組み合わせを実施して、その計算結果、今回は差がある数値以下である数が多い組み合わせを採用するみたいなことになるんですかね

348デフォルトの名無しさん2019/09/06(金) 22:44:43.03ID:IlHiLkpw
>>347
適切な解が存在するケースで、小さい順の付き合わせでダメになる具体例を示せる?

3493392019/09/06(金) 23:00:40.30ID:h6IBFFVJ
ないですね。
ということは、やはり最小のマッチング以外はありえないということになるのですね。

材料在庫が変動していたとしても、その瞬間の最小の差のペアを作ることが
一番効率の良いマッチング方法になるということか、、、。

350デフォルトの名無しさん2019/09/06(金) 23:08:33.74ID:adnLBrFU
>>339
https://ideone.com/vjhJdO
C++。ちょっと思いついたのでコード書いてみたよ。
ちょっとグリードに組み合わせ作るようにしてみた。

351デフォルトの名無しさん2019/09/06(金) 23:19:00.83ID:Sfa1dP8m
全てマッチングできるとは限らず最も多くマッチングできる組み合わせ
を求める ならちょっと工夫必要そう

352デフォルトの名無しさん2019/09/06(金) 23:24:40.52ID:h6IBFFVJ
皆さんありがとう。

最も多くマッチングさせるときは、閾値に一番近い選択を行うことがシンプルということかな?

>>350
コードありがとうございます。
プログラムを生業にしている者ではないのでC++の開発環境から構築になりますが、試してみます。

353デフォルトの名無しさん2019/09/06(金) 23:31:32.53ID:adnLBrFU
fix it.

354デフォルトの名無しさん2019/09/06(金) 23:32:51.82ID:adnLBrFU
大したコードではないが、そこまで威力があるとは思わなかった。
動機なんてそんなもんか。

355蟻人間 ◆T6xkBnTXz7B0 2019/09/06(金) 23:43:04.03ID:sc/CXZHY
お題: ある会社の営業曜日(複数可)と営業時間が与えられる。今月1ヶ月の営業時間の合計を求め、今月のカレンダーの下に表示せよ。ただし、その会社は祝日・祭日を特別扱いしないものとする。

3563992019/09/07(土) 00:15:01.96ID:meGL1HdM
>>354
おぉ見るたびマッチング精度上がってる
ありがとうございます!
参考にさせてもらいます

357デフォルトの名無しさん2019/09/07(土) 09:58:38.85ID:kl0P3WfA
>>350
>>339は固有値の差と言ってるのに>>350は固有値の和でコード書いてるように見える

358デフォルトの名無しさん2019/09/07(土) 10:01:09.66ID:15iR+LCW
そもそもeigenvalueじゃないのに固有値と言うのに違和感を覚える

359デフォルトの名無しさん2019/09/07(土) 10:40:38.85ID:K3PTI0jA
わからんな
結晶や薄膜やらだと本当に固有値がある
ヤツは「材料」って言っていて、その先に何を想定してるかこちらには伏せられたまま

もしかすると高分子の製薬かもしれない
使うと無くなるんだろ?

360デフォルトの名無しさん2019/09/07(土) 13:46:49.28ID:VQVarZXt
>>357
あ・・・。そうだね、そうだね。
すっかり勘違いしていた。

361デフォルトの名無しさん2019/09/07(土) 14:08:25.27ID:VQVarZXt
https://ideone.com/96njsa
C++。引き算する場合、奇策練るとよくない感じだなぁ・・・。
しかし、うっかりしてたわ。

362デフォルトの名無しさん2019/09/07(土) 14:45:59.42ID:VQVarZXt
https://ideone.com/Dmt87R
C++。暇だったから、いじってみた。
自分の方法だと、スコア高い?けどたまに100ペアにならないことがある。
これで今回はこれがオチとしておく。

3633992019/09/07(土) 20:55:02.76ID:aT864lGO
>>362
やっぱり、最小のペアを選んでいくことがベストなのかな?

できれば差は出来るだけ小さい方が良くて、結果みてると後者の方が良好な結果が出てる気がする

364デフォルトの名無しさん2019/09/08(日) 00:49:49.01ID:YBN7WO0H
排便を
壁に塗りつけ
したり顔

365デフォルトの名無しさん2019/09/08(日) 02:51:14.16ID:bEtb/TpC

366デフォルトの名無しさん2019/09/08(日) 08:38:41.51ID:GRxK0QRw
>>313
正方形だと3倍速い

367デフォルトの名無しさん2019/09/08(日) 09:39:44.56ID:46Wp6heU
3倍早いだけだったらオーダーが変わらねーじゃん
円が一万個一億個一兆個だったらどうなんの

368デフォルトの名無しさん2019/09/08(日) 09:58:44.95ID:GRxK0QRw
3日の仕事が1日で済むとも言う。

369デフォルトの名無しさん2019/09/08(日) 13:16:12.58ID:rbzdrKrZ
>>363
ランダム生成している数字が割と一様なのでそういう結果になるけど、
まばらに片寄っていたらどうすればいいかはその時しかわからんなぁ。

370蟻人間 ◆T6xkBnTXz7B0 2019/09/08(日) 23:16:36.64ID:YT+ZQkc/
何か初心者にも解ける面白い問題ないかな?

371蟻人間 ◆T6xkBnTXz7B0 2019/09/08(日) 23:23:17.86ID:YT+ZQkc/
お題: 質問文とn個の項目からなるメニューを実装せよ。

質問文とn個の文字列が入力として与えられる。質問文とn個の項目をかっこよく表示し、ユーザーが一つ項目を選ぶまで待つ。選んだら、選んだ項目を出力する。

372蟻人間 ◆T6xkBnTXz7B0 2019/09/08(日) 23:47:28.87ID:YT+ZQkc/
お題: マイ ドキュメントのフォルダ階層構造を表示せよ。

373デフォルトの名無しさん2019/09/08(日) 23:48:15.93ID:gIfFAHmp
お題
与えられた数列の、隣り合う2要素の差のリストを作る関数等を作ってください。

入力数列例
3 1 4 1 5 9 2 6 5
出力数列例
-2 3 -3 4 4 -7 4 -1

余力があれば、ファイルなどから非常に長い数列を与えられても対処できる実装を試みてください

http://gushwell.ldblog.jp/archives/52379839.html を一部改変)

374デフォルトの名無しさん2019/09/08(日) 23:48:22.91ID:7lW0qzzX
お題:北のミサイルをなんとかせよ

375デフォルトの名無しさん2019/09/08(日) 23:51:10.96ID:ZRQn+E7p
どっかの国ハックして打ち込むしか

376デフォルトの名無しさん2019/09/09(月) 00:57:49.46ID:G8Ger3PB
>>373 Perl5

sub f {
 map{$_[$_ + 1] - $_[$_]} 0..$#_-1;
}
@a = qw{3 1 4 1 5 9 2 6 5};
@b = f @a;
print "@b\n";

実行結果
~ $ perl 15_373.pl
-2 3 -3 4 4 -7 4 -1

377デフォルトの名無しさん2019/09/09(月) 07:20:37.09ID:F7fW2XyB
>>373 Pharo/Squeak Smalltalk

| fn |
fn := [:xs | xs allButFirst - xs allButLast].

fn value: #(3 1 4 1 5 9 2 6 5). "=> #(-2 3 -3 4 4 -7 4 -1) "

378デフォルトの名無しさん2019/09/09(月) 13:13:33.41ID:4K8wNjEy
>>373 Ruby

p [3, 1, 4, 1, 5, 9, 2, 6, 5].each_cons(2).map{|e| -e.reduce(:-)}
# => [-2, 3, -3, 4, 4, -7, 4, -1]

379デフォルトの名無しさん2019/09/09(月) 15:22:46.46ID:pyLk+Xbb
>>373 Pharo/Squeak Smalltalk

#(3 1 4 1 5 9 2 6 5) overlappingPairsCollect: [:x :y | y - x]

"=> #(-2 3 -3 4 4 -7 4 -1) "

380デフォルトの名無しさん2019/09/09(月) 15:35:48.47ID:pmQvKTaB
>>373
https://ideone.com/AoQVOB
C++。あってるかな?

381デフォルトの名無しさん2019/09/09(月) 15:55:42.79ID:8EKyQA8Q
>>373
perl5
"3 1 4 1 5 9 2 6 5" =~ m/(\d) (?= \s? (\d) ) (?{push @diff, $2 -$1}) /xg;
print "@diff";
-2 3 -3 4 4 -7 4 -1

382デフォルトの名無しさん2019/09/09(月) 17:47:36.36ID:Uwb0lHsl
>>373
Kotlin
https://paiza.io/projects/E_9ZAZNclHjS7_qn4WPBbg

ファイルというか標準入力から入力する事しかできない。

383デフォルトの名無しさん2019/09/09(月) 18:55:29.45ID:nBEHXDpg
>>373
ファイルからの読み込み派が居ない件。。。

Haskell

main = readFile "count.txt" >>= return.read >>= \lst -> print $ zipWith (-) (tail lst) lst
― ファイルから読まない場合は
― main = print $ zipWith (-) (tail lst) lst where lst = [3,1,4,1,5,9,2,6,5]

test.txt
[3,1,4,1,5,9,2,6,5]

out:
[-2,3,-3,4,4,-7,4,-1]

384デフォルトの名無しさん2019/09/09(月) 21:23:29.01ID:pmSRY1k7

385デフォルトの名無しさん2019/09/10(火) 00:22:25.45ID:2zzGvcE4
>>219 Perl5

$s = 'AKDAK';
@a = ('^', split'', $s);

$o{$_} //= ++$i for @a;
%e = map{$a[$_] => $a[$_+1]} 0..$#a-1;
@p = sort{$o{$a} <=> $o{$b}} keys %o;

$d{$p[-1]} = $p[-1].'$';
push @p, '$';
$e{'$'} = '';

print "'$s'\n→\n";
for (@p) {
 $v = $e{$_};
 $r = $d{$v} // $v;
 print "$_: $r.\n";
}


実行結果
~ $ perl 15_219.pl
'AKDAK'

^: A.
A: K.
K: D$.
D: A.
$: .

386蟻人間 ◆T6xkBnTXz7B0 2019/09/10(火) 01:16:31.32ID:/hHoc5h9
状態遷移図ってどんなときに役立つかな?

387デフォルトの名無しさん2019/09/10(火) 01:20:32.52ID:2zzGvcE4
ほらまぁ
状態遷移を表形式で定型的に定義した方が
言葉の羅列やグラフもどきポンチ絵などで表現するより明確な場面
さまざまなとき

388デフォルトの名無しさん2019/09/10(火) 01:22:32.02ID:2zzGvcE4
あいや、表じゃなくて図か。
そしたら、なんとなく依存関係などをややこしいグラフで表現して
ひもつけたとか賜って解釈したような気にさせるとき

自分で考えなよ

389デフォルトの名無しさん2019/09/10(火) 02:40:29.88ID:Ik1iUNRF
>>373 javascript
[3,1,4,1,5,9,2,6,5]
.reduce((acc, n, i, arr) => [...acc, arr[i + 1] - n], [])
.slice(0, -1)

390デフォルトの名無しさん2019/09/10(火) 08:11:29.51ID:lIijspdS
>>373

>>379 のブロック内で処理するのが分かりやすかったので、Haskellもprint以外の処理をリスト内包表記で完結するようにした。

main = print [y - x | let lst@(_:ls) = [3,1,4,1,5,9,2,6,5], (x,y) <- zip lst ls]

文字数としては >>383 より増えるが、読みやすさ優先。

391デフォルトの名無しさん2019/09/10(火) 17:53:27.20ID:cZVhsOAf
Smalltalkはやりたいことだけ書けばいいのがいい

392デフォルトの名無しさん2019/09/10(火) 18:46:19.95ID:CNsNp03m
分かったよじゃあoverlappingPairsCollect実装するよ…

const overlappingPairsCollect = (arr, cb) => {
let head = arr.shift();
const overlappingPairs = [];
for (const value of arr) {
overlappingPairs.push([head, value]);
head = value;
}
return overlappingPairs.map(([a, b]) => cb(a, b));
}

overlappingPairsCollect([3,1,4,1,5,9,2,6,5], (a, b) => b - a);
//=> [-2,3,-3,4,4,-7,4,-1]

393デフォルトの名無しさん2019/09/10(火) 19:17:03.68ID:CNsNp03m
ああ… forの前にif (!head) return overlappingPairs; のearly return入れ忘れた…

394デフォルトの名無しさん2019/09/10(火) 19:18:47.68ID:ER41jhKS
何言語?

395デフォルトの名無しさん2019/09/10(火) 19:51:01.24ID:4IK1yyiH
女子小学生のメスガキビッチ言語

396デフォルトの名無しさん2019/09/10(火) 20:05:04.03ID:9QXTHM58
なるほどjavascriptね!

397デフォルトの名無しさん2019/09/10(火) 20:19:20.42ID:ER41jhKS
https://ideone.com/d5aNNP
C++。なんか面白そうだったので、 >>392 をパクって移植してみた。
結構ジェネリックにかけたが、考える負荷高いね。

398デフォルトの名無しさん2019/09/10(火) 20:31:26.62ID:ER41jhKS
>>397
コード追加。MakeHogeで困ることあるかなぁ?
あんまりユースケース見えてないから、不具合あったら教えて。

399デフォルトの名無しさん2019/09/10(火) 21:25:03.39ID:OfzP/6E7
>>392
>>377 も頼む!

400デフォルトの名無しさん2019/09/10(火) 23:08:14.13ID:aMyCuNre
お題
スネークケースをアッパーキャメルケースに変換せよ
アンダースコアを単語の区切りとみなし、単語の先頭は大文字に、先頭以外は小文字に変換すること
また、単語を連結したときに数字が連続する場合はアンダースコアを残すこと

(例)
snake_case => SnakeCase

ODAI00_99_TEST => Odai00_99Test

x_0_x => X0X

UpperCamelCase => Uppercamelcase

401デフォルトの名無しさん2019/09/10(火) 23:20:02.02ID:Ik1iUNRF
>>399
allButFirstとallButLastは簡単だけどjsは生き残ってるスクリプト言語にしては珍しく演算子使ったリスト同士の演算が用意されてないのでfnは>>377みたいにキレイに書けない。

const allButFirst = arr => arr.slice(1);
const allButLast = arr => arr.slice(0, -1);
const fn = arr => allButLast(arr).reduce((acc, v, i) => (acc[i] -= v, acc), allButFirst(arr));

fn([3,1,4,1,5,9,2,6,5]);
//=> [-2,3,-3,4,4,-7,4,-1]

402デフォルトの名無しさん2019/09/11(水) 00:10:49.73ID:JxGfX2fh
>>400 Perl5

use feature say;
for (<DATA>) {
 say map{ucfirst lc} /((?:\d_\d|[^_\s])+)/g;
}
__DATA__
snake_case
ODAI00_99_TEST
x_0_x
UpperCamelCase


実行結果
~ $ perl 15_400.pl
SnakeCase
Odai00_99Test
X0X
Uppercamelcase

403デフォルトの名無しさん2019/09/11(水) 00:26:05.86ID:JxGfX2fh
>>402 その例ではいいけど
Odai00_9_9Test
↓になっちまうな…
Odai00_99test

404デフォルトの名無しさん2019/09/11(水) 00:31:52.77ID:TkJgDVYV
>>400
https://ideone.com/6apRE9
C++。オレ、馬鹿になってる〜。と苦しんでいた。

405デフォルトの名無しさん2019/09/11(水) 00:44:08.30ID:hWizELa3
>>397
C++むずかしすぎワロタwwwww

406デフォルトの名無しさん2019/09/11(水) 00:47:45.94ID:TkJgDVYV
C++とJSとの違いは大雑把に言って、使う型を先に決めるか後で決めるか。という程度だと思う。

オレ、自分の幸福度を上げるために、80行位で問題とくようにしている。
というか、手癖でそれくらいになる。

407デフォルトの名無しさん2019/09/11(水) 02:04:01.50ID:hWizELa3
>>400 JavaScript
const fn = s => s.split`_`
.map(([first, ...rest]) => [first.toUpperCase(), rest.join``.toLowerCase()].join``)
.reduce((acc, word) => acc + (/[0-9]{2}/.test(acc[acc.length - 1] + word[0]) ? '_' : '') + word);

fn('snake_case');
//=> "SnakeCase"
fn('ODAI00_99_TEST');
//=> "Odai00_99Test"
fn('x_0_x');
//=> "X0X"
fn('UpperCamelCase');
//=> "Uppercamelcase"

408デフォルトの名無しさん2019/09/11(水) 02:47:21.46ID:0/zUYWhl
>>400 Squeak Smalltalk

| fn |

fn := [:str |
| words |
words := str asLowercase subStrings: '_'.
words first capitalized , (words overlappingPairsCollect: [:x :y |
((x last isDigit and: [y first isDigit]) ifTrue: '_' ifFalse: '') , y capitalized
]) join
].

fn value: 'snake_case'. "=> 'SnakeCase' "
fn value: 'ODAI00_99_TEST'. "=> 'Odai00_99Test' "
fn value: 'x_0_x'. "=> 'X0X' "
fn value: 'UpperCamelCase'. "=> 'Uppercamelcase' "
fn value: 'Odai00_9_9Test'. "=> 'Odai00_9_9test' "

409デフォルトの名無しさん2019/09/11(水) 06:02:16.09ID:CEu0fvWD
>400 Ruby

f = -> s {s.split(/(?<=\D)_|_(?=\D)/).map(&:capitalize).join}

%w[
   snake_case ODAI00_99_TEST x_0_x UpperCamelCase
].each{|s| puts '%s => %s' % [s, f[s]]}

# =>
snake_case => SnakeCase
ODAI00_99_TEST => Odai00_99Test
x_0_x => X0X
UpperCamelCase => Uppercamelcase

410デフォルトの名無しさん2019/09/11(水) 06:06:45.97ID:CEu0fvWD
>>409 補足

puts f["Odai00_9_9Test'] # => Odai00_9_9test

411デフォルトの名無しさん2019/09/11(水) 12:54:52.45ID:Alp4BtBi

412デフォルトの名無しさん2019/09/11(水) 21:23:01.78ID:RlhjBlE6
お題:リストの奇数位置にある要素のみを含むリストを作れ
ただし、先頭要素を1番目と数える
[1, 2, 3, 4, 5]

[1, 3, 5]

rust
https://ideone.com/yXYsFB

octave
https://ideone.com/Go8xXL

413デフォルトの名無しさん2019/09/11(水) 21:27:05.78ID:C94vqLvq
>>400

UpperCamelCaseはそのまま返すべきだろう。
(と言う事で、1文字目が大文字かつ全文に’_’が無い場合は、(恐らくUpperCamelCaseだろうと期待して)そのまま返すようにした)

Haskell

import Data.Char

main = mapM_ (print.f) ["snake_case","ODAI00_99_TEST","x_0_x","UpperCamelCase","notupperCamelCase"]

f [] = []
f lst@(x:_) | and [elem x ['A'..'Z'], (not.elem '_') lst] = lst
f (x:xs) = toUpper x:map toLower a ++ f (map toLower $ f' a b)
where
(a,b) = span (/= '_') xs

f' _ [] = []
f' [] (y:ys) = ys
f' xs lst@('_':y:ys) |and [(isDigit.last) xs, isDigit y] = lst
f' _ (_:ys) = ys


out:

"SnakeCase"
"Odai00_99Test"
"X0X"
"UpperCamelCase"
"Notuppercamelcase"

414デフォルトの名無しさん2019/09/11(水) 23:29:56.75ID:sKkTHzOH
>>400 Perl5、>>402-403 の修正、>>413 のように UpperCamelCase など_を含まない文字列はそのまま返す

use feature say;
for(<DATA>) {
@a = split/(?<!\d)_|_(?!\d)|\s/;
say 1 == @a ? @a : map{ucfirst lc} @a;
}
__DATA__
snake_case
ODAI00_99_TEST
x_0_x
UpperCamelCase
_local_vvar_
lavel_style_
OdAi00_9_9TeST


実行結果
~ $ perl 15_400_fix.pl
SnakeCase
Odai00_99Test
X0X
UpperCamelCase
LocalVvar
LavelStyle
Odai00_9_9Test

415デフォルトの名無しさん2019/09/11(水) 23:34:45.60ID:sKkTHzOH
>>414 ゴメン、実行結果貼り間違えた(下記のように最後のOdAi00_9_9TeSTはそのまま出る)

~ $ perl 15_400.pl
SnakeCase
Odai00_99Test
X0X
UpperCamelCase
LocalVvar
LavelStyle
OdAi00_9_9TeST

416デフォルトの名無しさん2019/09/11(水) 23:43:35.81ID:sKkTHzOH
>>412 Perl5

@a = a..z;
@x = map{$_-1} grep{$_&1} 1..@a;
@b = @a[@x];
print "[@b]\n";


実行結果
~ $ perl 15_412.pl
[a c e g i k m o q s u w y]

417デフォルトの名無しさん2019/09/12(木) 00:37:35.06ID:zD/2/X2z
>>412
common lisp
(loop for i in '(1 2 3 4 5) for j from 1 when (eql 1 (mod j 2)) collect i)
(1 3 5)

418デフォルトの名無しさん2019/09/12(木) 02:26:36.91ID:IEWaKNAx

419デフォルトの名無しさん2019/09/12(木) 09:48:36.52ID:XoEd0LBY
>>412 Ruby

p [1, 2, 3, 4, 5].each_slice(2).map(&:first)

# => [1, 3, 5]

420デフォルトの名無しさん2019/09/12(木) 11:37:50.98ID:Cxpf63qu
>>412 JavaScript
[1, 2, 3, 4, 5].filter((val, idx) => (idx + 1) % 2)
//=> [1, 3, 5]

421デフォルトの名無しさん2019/09/12(木) 18:13:32.79ID:sKYe7PWn

422デフォルトの名無しさん2019/09/12(木) 18:34:25.79ID:u0+zztnJ
>>412
https://ideone.com/leynnQ
C++。こんな感じで。

423デフォルトの名無しさん2019/09/12(木) 21:30:23.66ID:+vUO8BYK
>>373 J
f =: 2 & (-~/\)

f 3 1 4 1 5 9 2 6 5
_2 3 _3 4 4 _7 4 _1


>>412 J
f =: _2 & ([/\)

f 1 2 3 4 5
1 3 5

424デフォルトの名無しさん2019/09/12(木) 21:33:45.75ID:cqw0/uFd
さすがJ
サッパリ分からん

425デフォルトの名無しさん2019/09/13(金) 00:40:21.67ID:6zSQdjjj
>>412
せめて、リストの中身は順番と関係無い内容の方が。。。
(例えば"abcde"とか)

Haskell

main = (print.oddlist) [1..5]

oddlist xs = [x | (x,y) <- zip xs [1..], odd y]

426デフォルトの名無しさん2019/09/13(金) 02:03:47.81ID:qdoB8RTo
お題:辞書型クリプタを実装せよ。
私の実装: https://ideone.com/cjGdvA

貴方はどう書く?

427デフォルトの名無しさん2019/09/13(金) 13:13:33.48ID:zfsxzWX8
>>412 Tcl
set x {1 2 3 4 5}
set r {}
foreach {a b} $x {set r [concat $r $a]}
puts $r

実行結果
1 3 5

428デフォルトの名無しさん2019/09/13(金) 21:31:55.35ID:5n7mddvT
>>427
> foreach {a b}

こんなオサレな書き方で二個処理できるのすごい

429デフォルトの名無しさん2019/09/13(金) 21:37:33.86ID:sQZEDK+j
tcl/tkで「tk部分ははいいがtclがクソ」みたいなのよく見た気がするんだけど、あれどういうとこが根拠なん?

430デフォルトの名無しさん2019/09/14(土) 04:14:12.84ID:x5aQTHnU
お題: すべての人民は和平のために火急的に速やかに自己の復元を実現しなければならない。

431デフォルトの名無しさん2019/09/14(土) 04:28:39.19ID:BS6VTuNp
>>412 Io
a := list(1, 2, 3, 4, 5)
a select(i, v, i isEven) println

実行結果
list(1, 3, 5)

432デフォルトの名無しさん2019/09/14(土) 07:49:29.90ID:/8qdS/t9
>>419

>>420

スレ違いだし、関数型言語だけが再利用性が高いとは言わないけど、
仮にoddlistがリストに対して良く使われる処理なら

[1,2,3,4,5].oddlist()

とか使いたいよね?
確かRubyはそう言う基本クラスにメソッド追加出来たと思うけど(うろ覚え)、
それをライブラリにして公開したいとする。

そうなると名前の競合とか起こり得るので

import mylib

[1,2,3,4,5].mylib.oddlist()

としたいとか、ならないだろうか。

変数と関数は別が良いって思った。

(議論の流れになるなら、別スレに誘導してね)

433デフォルトの名無しさん2019/09/14(土) 08:17:19.38ID:G26P45sA
>>412 Python

print([ i for i in range(1,6,2) ])
# [1, 3, 5]

434デフォルトの名無しさん2019/09/14(土) 08:24:26.09ID:Hd+E1riT
>>429
スレチだが教えてやる
数字が文字列として扱われて実行時にパースされるから馬鹿みたいに遅いことだ

435デフォルトの名無しさん2019/09/14(土) 08:30:44.01ID:G26P45sA
>>412 Python a~f

print( ['a','b','c','d','e'][::2] )
# ['a', 'c', 'e']

436デフォルトの名無しさん2019/09/14(土) 19:11:38.33ID:Rj/aIpzV
>>426
クリプタって何?

437デフォルトの名無しさん2019/09/14(土) 19:29:31.44ID:daGZRaa0
ザラキ唱える人じゃないか

438デフォルトの名無しさん2019/09/14(土) 19:57:54.64ID:oc39AgJX
>>436
Crypter.

Crypt + er.

439デフォルトの名無しさん2019/09/14(土) 20:22:44.80ID:x5aQTHnU
>>437
それはクリフト

440デフォルトの名無しさん2019/09/14(土) 21:03:45.14ID:KmV3vhTN
cryptoなんだからcryptorじゃないの?

441蟻人間 ◆T6xkBnTXz7B0 2019/09/14(土) 21:19:35.56ID:0f+SL6BM
それをゆうなら、encrypterの方が自然じゃん。

442デフォルトの名無しさん2019/09/14(土) 22:06:47.02ID:31y0+jF3
でも、それをいうならの方が自然かも

443デフォルトの名無しさん2019/09/14(土) 22:21:17.26ID:oc39AgJX
EnCrypterか。了解。
忘れたらごめんなさい。

444デフォルトの名無しさん2019/09/14(土) 22:23:04.61ID:pQ8OW4Ak
EnCrypterはおかしい
Encryperでいい

445デフォルトの名無しさん2019/09/14(土) 22:23:28.79ID:pQ8OW4Ak
tが抜けた

446デフォルトの名無しさん2019/09/14(土) 22:26:10.43ID:hhxdRhHk
EmScriptEn

447デフォルトの名無しさん2019/09/14(土) 22:35:29.16ID:oc39AgJX
>>444
なんか癖になってるんだ。
小学校から英語やってるわけじゃないからなぁ・・・。

448デフォルトの名無しさん2019/09/14(土) 23:35:07.41ID:1m2PUwRG
>>432
釈迦に説法は空しいし恥ずかしいのでやめよう
どう考えてもおまいより>>419のほうが力量が上
議論の余地は無いので安心していい

449デフォルトの名無しさん2019/09/15(日) 10:23:47.74ID:4T3I9hnw
>>426 Perl 5.30

# -*- coding: utf-8 -*-
no warnings 'experimental::signatures';
use feature qw(say signatures); # lexical_subs);
sub ReversibleHash_Encode($S, $C) {
 @a = unpack 'C*', $S;
 $l = @c = split '', $C;
 my $o; ++$o while $l**$o < 256; #my $o = 1 + log(256)/log $l;
 use integer;
 my sub _enc($i) { join '', reverse map{($i, $m) = ($i/$l, $i%$l); $c[$m]} 1..$o }
 %e = map{$_ => '%'._enc $_} 0..255;
 join '', map{$e{$_}} @a;
}
sub ReversibleHash_Decode($S, $C) {
 @s = $S =~ /(%\w+)/g;
 %d = map{$e{$_} => $_ } keys %e;
 pack 'C*', map{$d{$_}} @s;
}
say $t = ReversibleHash_Encode 'ウィキペディア', '0123456789';
say $s = ReversibleHash_Decode $t, '0123456789';
$Ch = "abcdefghijklnmopqrstuvwxyz0123456789";
say $t = ReversibleHash_Encode $s, $Ch;
say $s = ReversibleHash_Decode $t, $Ch;


実行結果
~ $ perl 15_426.pl
%227%130%166%227%130%163%227%130%173%227%131%154%227%131%135%227%130%163%227%130%162
ウィキペディア
%gl%dw%ew%gl%dw%et%gl%dw%e3%gl%dx%ek%gl%dx%d1%gl%dw%et%gl%dw%es
ウィキペディア

450デフォルトの名無しさん2019/09/15(日) 10:37:25.58ID:Pt8t6mL1
zipとunzip関数があるからそれで偶数と奇数に分ければいい

451デフォルトの名無しさん2019/09/15(日) 11:42:49.90ID:4T3I9hnw
>>412 Prl5 (≦5.28)、配列の添字を0始まり以外にする$[ (array_base feature)を使用

$[ = 1;
@a = a..z;
@x = grep{$_ & 1} 1..@a;
@b = @a[@x];
print "@b\n";


実行結果
~ $ perl 15_412_array_base.pl
a c e g i k m o q s u w y


※5.12〜5.28では$[は非推奨になり、設定すると
Use of assignment to $[ is deprecated at 15_412_2.pl line 1.
というwarningが出ます、5.30からは$[の設定できなくなりました

452デフォルトの名無しさん2019/09/15(日) 15:11:01.79ID:G44yhCx+
>>412 R
要素が 奇数個だとワーニングが出ちゃうけど

a<-1:9
print(matrix(a,2)[1,])

453デフォルトの名無しさん2019/09/15(日) 15:41:23.29ID:5s85lzPu
鰐んぐ
魚にんぐ

454デフォルトの名無しさん2019/09/15(日) 16:31:54.72ID:vhYJbDpr
>>449
実行はしてないが、成果については「GJ!!」だ!

455デフォルトの名無しさん2019/09/16(月) 04:35:46.66ID:NOoJUh0d
お題: 文字列が渡されるので文字vの左隣の文字を小文字、右隣の文字を大文字に変換しなさい

456デフォルトの名無しさん2019/09/16(月) 06:10:07.69ID:VWND3fAL
>>455
"avbvc" の結果を教えてくれ

457デフォルトの名無しさん2019/09/16(月) 08:35:06.75ID:NOoJUh0d
>>456
その場合はvに挟まれた文字をxに変換してください

458デフォルトの名無しさん2019/09/16(月) 08:42:47.33ID:3bKCxc1X
>>457
"avvb" の結果を教えてくれ

459デフォルトの名無しさん2019/09/16(月) 11:06:17.48ID:uJI/7eR2
頭悪そうなお題はパスで

460デフォルトの名無しさん2019/09/16(月) 15:26:20.20ID:eLMc9ESO
お題:1から100までの自然数がある。ランダムに30個抜き出せ。

461デフォルトの名無しさん2019/09/16(月) 15:30:00.20ID:4Q9Ti1cA
>>460 Ruby

p [*1..100].sample(30)

# => [13, 29, 96, 79, 78, 17, 89, 88, 69, 51, 44, 16, 54, 62,
47, 19, 45, 26, 43, 40, 91, 32, 30, 86, 84, 85, 15, 6, 41, 95]

462デフォルトの名無しさん2019/09/16(月) 16:08:30.72ID:ShPpQTCq
>>460
Kotlin script

println((1..100).toMutableList().apply {shuffle()}.slice(0..29).joinToString())

463デフォルトの名無しさん2019/09/16(月) 16:53:32.17ID:P3J/MfSa
>>460 Perl5、※選択に重複がないようにした

@a = 1..100;
use List::Util shuffle;
@b = (shuffle @a)[0..29];
print "@b\n";


実行結果
~ $ perl 15_460.pl
64 90 99 41 46 11 25 23 2 12 43 42 24 96 59 44 19 7 92 47 15 86 84 68 13 100 76 34 87 9

464デフォルトの名無しさん2019/09/16(月) 16:59:32.09ID:ZgnCsjLO
>>460 J
(30?100) { >: i. 100

465デフォルトの名無しさん2019/09/16(月) 17:36:43.98ID:enU8we0d
>>464
なるほど全然わからん

466デフォルトの名無しさん2019/09/16(月) 20:23:01.84ID:LKlzCOg4
>>460 Pharo/Squeak Smalltalk

(1 to: 100) asArray shuffled first: 30

467デフォルトの名無しさん2019/09/17(火) 17:37:59.85ID:IoM9hprN
プログラム言語標準の文字列(e.g. java.lang.String) が与えられ、ランレングス圧縮した結果をプログラム言語標準の文字列で返す関数を作成してください。ただし、入力に数字が入っていた場合のケースは考慮しなくても構いません。
テストケース(関数名 = f)
f("あいうえお") -> "あいうえお"
f("ああいいうう") -> "あ2い2う2"
f("あいうあいう") -> "あいうあいう"

468デフォルトの名無しさん2019/09/17(火) 18:15:13.62ID:kyKgfAv0
あうあうあー -> あうあうあー
ああああ -> あ4

469デフォルトの名無しさん2019/09/17(火) 18:37:25.07ID:IoM9hprN
そゆこと

470デフォルトの名無しさん2019/09/17(火) 19:42:43.30ID:N7hzq5cx
python に あ2い2う2
のようにカウンティング結果を含んだリストを返すライブラリが
はいっていたな

471デフォルトの名無しさん2019/09/17(火) 21:40:53.07ID:nuFS/S7T
>>467
haskellだよー

join.map ((:).head <*> (bool "".show.length <*> (1 <).length)).group

472デフォルトの名無しさん2019/09/17(火) 21:47:22.78ID:s7WBnLNZ
>>467 JavaScript
const f = s => [...s]
.reduce((acc, ch) => {
const [lastCh, n = 1] = acc.pop() || [];
if (!lastCh) return [[ch]];
if (lastCh == ch) {
return [...acc, [lastCh, n + 1]];
} else {
return [...acc, [lastCh, n == 1 ? '' : n], [ch]];
}
}, [])
.flat(Infinity)
.join``;

473デフォルトの名無しさん2019/09/17(火) 23:32:50.16ID:htBCID9n
>>467 Perl5

use utf8;
binmode STDOUT, ':encoding(utf-8)';
for (qw{あいうえお ああいいうう あいうあいう あうあうあー ああああ}) {
 my $s;
 while (/((.)\g-1*)/g) {
  $s .= $2;
  $s .= $l if 1 < ($l = length $1);
 }
 print "$s\n";
}


実行結果
~ $ perl 15_467.pl
あいうえお
あ2い2う2
あいうあいう
あうあうあー
あ4

474デフォルトの名無しさん2019/09/17(火) 23:58:08.34ID:htBCID9n
>>467 Perl5、しくった、お題は「関数を作れ」だった…orz

use utf8;
binmode STDOUT, ':encoding(utf-8)';
sub f {
 my $s;
 while (/((.)\g-1*)/g) {
  $s .= $2;
  $s .= $l if 1 < ($l = length $1);
 }
 $s
}
for (qw{あいうえお ああいいうう あいうあいう あうあうあー ああああ}) {
 print f($_)."\n";
}


~ $ perl 15_467_f.pl
あいうえお
あ2い2う2
あいうあいう
あうあうあー
あ4

475デフォルトの名無しさん2019/09/18(水) 10:00:45.90ID:Qm7jF2Kv
>>467 Ruby

f = -> s {s.gsub(/(.)\1+/){[$1, $&.size].join}}

%w[あいうえお ああいいうう あいうあいう あうあうあー ああああ].each{|s| puts [s, f[s]].join(' => ')}
# =>
あいうえお => あいうえお
ああいいうう => あ2い2う2
あいうあいう => あいうあいう
あうあうあー => あうあうあー
ああああ => あ4

476デフォルトの名無しさん2019/09/18(水) 10:37:56.54ID:Qm7jF2Kv
>>432 Ruby

module Hoge
  refine Array do
    def oddlist
      select.with_index{|s, i| i.odd?}
    end
  end
end

class C1
  p [0, 1, 2, 3, 4].oddlist rescue p$!
  # => #<NoMethodError: undefined method `oddlist' for []:Array>
end

class C2
  using Hoge
  p [0, 1, 2, 3, 4].oddlist
  # => [1, 3]
end

477デフォルトの名無しさん2019/09/18(水) 15:45:23.52ID:GIOjMe2C
>>467
https://ideone.com/3jC9wU
C++。いい感じにかけた。

478デフォルトの名無しさん2019/09/18(水) 17:30:11.83ID:quy23QLp
むずかし過ぎワロタwww
俺にC++は絶対ムリwwwww

479デフォルトの名無しさん2019/09/18(水) 17:40:05.70ID:GIOjMe2C
>>478
自分の福祉のために圧迫しない程度に冗長に書いてるけど、ショートコーディングももちろんできるよ。
記憶力と直感と若干の経験で書いている。

480デフォルトの名無しさん2019/09/18(水) 19:34:59.80ID:Dukdxvvo
完成品はないけどなw

481デフォルトの名無しさん2019/09/18(水) 19:48:16.27ID:GIOjMe2C
>>480
ウインドウズのアプリっぽいの一個位は作ったことあるよ。

482デフォルトの名無しさん2019/09/18(水) 19:56:52.36ID:Dukdxvvo
はいはいいつもの

483デフォルトの名無しさん2019/09/18(水) 20:22:10.02ID:GIOjMe2C
>>482
ボット認定していい?

484デフォルトの名無しさん2019/09/18(水) 22:47:30.76ID:Zy9clRCR
>>483
bot(だと自分で思ってる)相手にレスしちゃう男の人なんて……

485蟻人間 ◆T6xkBnTXz7B0 2019/09/19(木) 03:17:38.21ID:fzYUHnaE
お題: 明日の東京都の天気を教えてくれる「お天気ねえさん」を実装せよ。

https://www.drk7.jp/weather/
ここのXMLデータを参考に、明日の東京都の天気を優しく説明してくれるような説明テキストを生成せよ。

例) 明日XX月YY日の東京都の天気は○○です。○○注意報が出ています。傘を忘れないでね。

486蟻人間 ◆T6xkBnTXz7B0 2019/09/19(木) 03:40:46.99ID:fzYUHnaE
ある種のデータは石油のように重要だから、データ自動生成は条件が揃えばお金儲けにつながる。まあ、とことんチャレンジしたまえ。

487デフォルトの名無しさん2019/09/19(木) 04:53:29.17ID:kXMoSLFb
>>485
sh と perl5
https://pastebin.com/3dXzkYvR
プログラミングのお題スレ Part15 	YouTube動画>1本 ->画像>14枚

colorlizerの中がperl入りで
見やすくするユーティリティー

488デフォルトの名無しさん2019/09/19(木) 20:26:10.81ID:tW2U1Dga
google の検索結果を 10 づつ合計 1000 件ダウンロードするプログラム

489さまよえる蟻人間 ◆T6xkBnTXz7B0 2019/09/19(木) 20:38:41.32ID:fzYUHnaE
>>488
ボットはあかん

490デフォルトの名無しさん2019/09/19(木) 21:01:33.69ID:Iq+eqHsU
>>467 Lua
マルチバイト文字には対応していない。
function f(s)
   local r,c="",1
   for i=1,#s do
   if s:sub(i,i)==s:sub(i+1,i+1) then
   c=c+1
   else
     r=r..s:sub(i,i)
   if c>1 then
   r=r..c
   c=1
   end
   end
   end
   return(r)
end
print(f("aaabbc"))

実行結果
a3b2c

491デフォルトの名無しさん2019/09/19(木) 21:11:19.84ID:VNRPdI7o

492デフォルトの名無しさん2019/09/19(木) 21:20:20.35ID:7Zlc7qce
>>467
perl5
デバッガが日本語で化けるんで英語だけ
print("aabbccddd" =~ s{ (.) \1* }{ "$1" . length"$&" }xgre);
a2b2c2d3

493デフォルトの名無しさん2019/09/20(金) 00:35:55.08ID:brDhMnbX
>>485 Perl5 (LWP::UserAgent、LWP::Protocol::https、XML::Simple のinstallしてあるPCで)

# -*- coding: utf-8 -*-
use utf8; use Data::Dump 'dump'; use Data::Dumper;
binmode STDOUT, ':encoding(utf-8)';
use feature say;
$pno = 13; # ex) 01:北海道, 13:東京, 20:長野, 47:沖縄
$url = "https://www.drk7.jp/weather/xml/$pno.xml";
require LWP::UserAgent; # with LWP::Protocol::https
$ua = LWP::UserAgent->new;
$ua->agent('Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko');
$xml = LWP::UserAgent->new->get($url)->content;
use XML::Simple;
my $xs = new XML::Simple; #(keyattr => ['area']); # (forcearray => ['info'], keyattr => ['pref']);
my $data = $xs->XMLin($xml);
say "$_: $data->{$_}" for qw{title link description pubDate author managingEditor};
$pref = $data->{pref}; say "都道府県: $pref->{id}";
%area = %{$pref->{area}};
for $region (keys %area) {
 $area = $area{$region};
 printf "地域: $region (緯度=%s, 経度=%s)\n", @{$area->{geo}}{qw{lat long}};
 for $info (@{$area->{info}}) {
  say " $info->{date} 天気:$info->{weather} (画像 $info->{img})";
  $info->{$_} and say ' 'x9, $info->{$_} for qw{weather_detail wave};
  %temp = %{$info->{temperature}};
  say ' 'x6, " 気温[$temp{unit}]: ", join 'から', sort map{"$_->{content}°"} @{$temp{range}};
  %rfc = %{$info->{rainfallchance}};
  say ' 'x6, " 降水確率 : ", join ', ', map{"$_->{hour}時:$_->{content}$rfc{unit}"} @{$rfc{period}};
 }
}

494デフォルトの名無しさん2019/09/20(金) 00:38:16.81ID:brDhMnbX
実行結果(例)

~ $ perl 15_485.pl
title: weather forecast xml
link: http://www.drk7.jp/weather/xml/13.xml
description: 気象庁の天気予報情報を XML で配信。1日1回 AM 6:00 ごろ更新。
pubDate: Thu, 19 Sep 2019 18:00:01 +0900
author: 気象庁
managingEditor: drk7.jp
都道府県: 東京都
地域: 伊豆諸島南部 (緯度=33.2419, 経度=139.8418)
2019/09/19 天気:くもり時々雨 (画像 プログラミングのお題スレ Part15 	YouTube動画>1本 ->画像>14枚 )
         北東の風 やや強く くもり 夜のはじめ頃 雨 八丈島 では 夜遅く 雷を伴い 激しく 降る
         波 3メートル うねり を伴う
       気温[摂氏]: 21°から23°
       降水確率 : 00-06時:0%, 06-12時:80%, 12-18時:50%, 18-24時:50%
2019/09/20 天気:くもり時々雨 (画像 プログラミングのお題スレ Part15 	YouTube動画>1本 ->画像>14枚 )
         東の風 やや強く くもり 一時 雨
         波 4メートル のち 3メートル ただし 三宅島 では 3メートル
       気温[摂氏]: 20°から23°
       降水確率 : 00-06時:50%, 06-12時:60%, 12-18時:60%, 18-24時:50%
2019/09/21 天気:くもり一時雨 (画像 プログラミングのお題スレ Part15 	YouTube動画>1本 ->画像>14枚 )
       気温[摂氏]: 21°から26°
       降水確率 : 00-06時:70%, 06-12時:70%, 12-18時:70%, 18-24時:70%
2019/09/22 天気:くもり一時雨 (画像 プログラミングのお題スレ Part15 	YouTube動画>1本 ->画像>14枚 )
       気温[摂氏]: 23°から29°
       降水確率 : 00-06時:50%, 06-12時:50%, 12-18時:50%, 18-24時:50%
2019/09/23 天気:くもり一時雨 (画像 プログラミングのお題スレ Part15 	YouTube動画>1本 ->画像>14枚 )
       気温[摂氏]: 25°から29°
       降水確率 : 00-06時:50%, 06-12時:50%, 12-18時:50%, 18-24時:50%
…(後略

495デフォルトの名無しさん2019/09/20(金) 01:09:22.21ID:brDhMnbX
お天気おねぃさんとは、ほど遠いなコリャ…

496デフォルトの名無しさん2019/09/20(金) 04:34:57.12ID:vpcMUgg5
お題

以下の、列区切りが空白である入力文字列を、
最後の列の数値が、小さい順番で、行を並べ替えよ

答えは、上下が反転する

a b c 44
x y 33
z 22
11

497デフォルトの名無しさん2019/09/20(金) 07:37:10.18ID:ZVVuMGcz
>>496
cat text
a b c 44
x y 33
z 22
11

cat text | perl -pe 's/.*? \s? (\d+)/$1:$&/xgm' | sort -n | perl -pe 's/^\d+://'
11
z 22
x y 33
a b c 44

498デフォルトの名無しさん2019/09/20(金) 08:14:00.92ID:ImrTQZdo

499デフォルトの名無しさん2019/09/20(金) 09:52:16.00ID:PYkAN+VQ
>>496 Ruby

puts <<~EOS.each_line.sort_by{|s| s[/\S+\n?/].to_i}
  a b c 44
  x y 33
  z 22
  11
EOS

# =>
11
z 22
x y 33
a b c 44

500デフォルトの名無しさん2019/09/20(金) 13:59:42.96ID:fZRbtgUM
>>489
合法的? にやるにはどうすればいいの?

501デフォルトの名無しさん2019/09/20(金) 14:08:52.93ID:qcElLt/f
>>500
初手でウエイト入れないで読みに行って、アクセス規制法に引っかかるのとかありそう。
鯖落としたら、怒られるからな。警察に。

502デフォルトの名無しさん2019/09/20(金) 15:01:57.40ID:8HAndpSr
>>496 J
echo@>(/: {: @:(0&".) &.>) <;._2 stdin ''

503デフォルトの名無しさん2019/09/20(金) 15:07:26.20ID:uyZD/oLi
http://appmarketinglabo.net/osaka-bakurotalk/
Q、hamonさん、ここだけの面白い話は何かありますか?

hamon:
絶対にこれをつくれば海外で10万DLされるという「超鉄板ジャンル」がある。
それは「3Dのリアルな人間をつかった実在のスポーツゲーム」、中身がクソでも10万DLはされる。
「ボクシングvs腕相撲」という実質もぐらたたきのようなゲームが30万DLいった。
「スキージャンプ アルティメイタム」というゲームが10万DLくらい。
マイナーなスポーツでもそのような結果なので、競技人口のベスト10のスポーツを調べてつくれば10万DLは固い。
普通につくるとコストがかかるが、UNITYでつくればストア上でモーションも売っているのでかなり稼げると思う。

504デフォルトの名無しさん2019/09/21(土) 00:27:57.30ID:dB3ZeAcF
お題: 同じ文字列がいくつあるか数えるプログラムを作成しなさい。
※出力は出現回数順でソートされている必要はありません。

入力
Hoge
Fuga
Foo
Fuga
Foo
Hoge
Bar
Fuga

出力
Hoge 2
Fuga 3
Foo 2
Bar 1

505デフォルトの名無しさん2019/09/21(土) 00:39:37.54ID:6wFtRpPA
>>504 Perl5

$h{$_}++ for qw{Hoge Fuga Foo Fuga Foo Hoge Bar Fuga};
print "$_ $h{$_}\n" for keys %h;


実行結果
~ $ perl 15_504.pl
Fuga 3
Hoge 2
Bar 1
Foo 2

506デフォルトの名無しさん2019/09/21(土) 00:45:45.24ID:Ei1MM/mp
>>504
https://ideone.com/5PI58a
C++。今回はメインロジックの記述が少なくて楽だった。

507デフォルトの名無しさん2019/09/21(土) 00:46:28.49ID:YPz6oCKs
>>504
cat text
Hoge
Fuga
Foo
Fuga
Foo
Hoge
Bar
Fuga

cat text | perl -ne '$dirs{ s/\R//r } += 1; END{for $key (keys %dirs) {printf "%-4s %s\n", $key, $dirs{$key} } }'
Foo 2
Fuga 3
Bar 1
Hoge 2

508デフォルトの名無しさん2019/09/21(土) 00:50:19.09ID:Ei1MM/mp
うほっ。C++のunordered_mapはオーダー要求しないから、そこを使って最適化物故むとかやるんかいな。
VCとGCCと挙動違う。

509デフォルトの名無しさん2019/09/21(土) 00:59:47.45ID:6wFtRpPA
>>496 Perl5

sub f {$_[0] =~ /(\d+)/; $1};
print sort{ f($a) <=> f($b) } <DATA>;
__DATA__
a b c 44
x y 33
z 22
11


実行結果
~ $ perl 15_496.pl
11
z 22
x y 33
a b c 44

510デフォルトの名無しさん2019/09/21(土) 04:32:25.24ID:DxluyDWg

511デフォルトの名無しさん2019/09/21(土) 05:21:21.47ID:DxluyDWg

512デフォルトの名無しさん2019/09/21(土) 05:37:07.36ID:RmdAWOHY
>>504 Ruby
a=readlines.map(&:chomp)
a.uniq.each{|v| puts("#{v} #{a.count(v)}")}

513デフォルトの名無しさん2019/09/21(土) 15:59:00.83ID:uZ0K83Mw
>>496 ruby
https://ideone.com/VtI7C7
puts readlines.sort_by {|s| s[/\d+$/].to_i}

>>504 ruby
https://ideone.com/Sw6k17
puts $<.read.scan(/\w+/).group_by(&:itself).map {|a, b| '%s %d' % [a, b.size]}

514デフォルトの名無しさん2019/09/21(土) 16:12:27.45ID:ZyFDPzPp
お題:正の整数が与えられるので、英語の序数に変換せよ
1 => 1st
23 => 23rd
12 => 12th

515デフォルトの名無しさん2019/09/21(土) 16:40:16.71ID:6wFtRpPA
>>514 Perl5

%o = qw{1 st 2 nd 3 rd};
$o = $o{$_}//'th', print "$_$o\n" for 1..10,12,23;

実行
~ $ perl 15_514.pl
1st
2nd
3rd
4th
5th
6th
7th
8th
9th
10th
12th
23th

516デフォルトの名無しさん2019/09/21(土) 16:54:30.22ID:6wFtRpPA
>>514 Perl5、 >>515 はもう少しコンパクトに書けた

%o = qw{1 st 2 nd 3 rd};
printf "$_%s\n", $o{$_}//'th' for 1..10,12,23;

517デフォルトの名無しさん2019/09/21(土) 17:38:27.55ID:uZ0K83Mw

518デフォルトの名無しさん2019/09/21(土) 18:24:27.24ID:9SoaGQ4l

519デフォルトの名無しさん2019/09/21(土) 19:12:36.02ID:AojYT9zq
1st 2nd 3rd
11th 12th 13th
21st 22nd 23rd
101st 102nd 103rd
111th 112th 113th
121st 122nd 123rd

皆さんここらへん大丈夫?

520デフォルトの名無しさん2019/09/21(土) 19:41:28.17ID:6wFtRpPA
>>514 Perl5、>>519 で指摘された誤りの修正 テヘペロ

%h = qw{1 st 2 nd 3 rd};
for (1..4,11,12,13,21,22,23,101,102,103,111,112,113,121,122,123) {
 /(\d?)(\d)$/;
 printf "$_ => $_%s\n", $1 eq 1 ? 'th' : $h{$2}//'th';
}


実行結果
~ $ perl 15_514.pl
1 => 1st
2 => 2nd
3 => 3rd
4 => 4th
11 => 11th
12 => 12th
13 => 13th
21 => 21st
22 => 22nd
23 => 23rd
101 => 101st
102 => 102nd
103 => 103rd
111 => 111th
112 => 112th
113 => 113th
121 => 121st
122 => 122nd
123 => 123rd

521さまよえる蟻人間 ◆T6xkBnTXz7B0 2019/09/21(土) 20:51:54.21ID:BmADEcuL
お題: 与えられた西暦年月日を年号年月日に変換しなさい。ただし、変換するのは大正時代から令和までとし、範囲外であればERRORを表示しなさい。

522さまよえる蟻人間 ◆T6xkBnTXz7B0 2019/09/21(土) 21:04:33.10ID:BmADEcuL
お題: YYYY/MM/DD形式で与えられた西暦年月日の文字列が正しい年月日を表しているかどうか判定せよ。

523蟻人間 ◆T6xkBnTXz7B0 2019/09/21(土) 21:24:10.22ID:BmADEcuL
>>522, >>521の順に解いて下さい。

1970/01/05
1990/12/31
2019/04/28
2019/05/01
1920/02/29

524デフォルトの名無しさん2019/09/21(土) 22:12:07.89ID:y97V3EOz
>>522 Perl5

use Time::Piece;
for (<DATA>) {
 chomp;
 my $t;
 eval {$t = Time::Piece->strptime($_, '%Y/%m/%d')};
 $t //= 'Invalid';
 print "$_: $t\n";
}
__DATA__
1970/01/05
1990/12/31
2019/04/28
2019/05/01
1920/02/29
0000/13/32


実行結果
1970/01/05: Mon Jan 5 00:00:00 1970
1990/12/31: Mon Dec 31 00:00:00 1990
2019/04/28: Sun Apr 28 00:00:00 2019
2019/05/01: Wed May 1 00:00:00 2019
1920/02/29: Sun Feb 29 00:00:00 1920
0000/13/32: Invalid

5255242019/09/21(土) 22:29:42.44ID:y97V3EOz
>>524

Time::Piece->strptime は
1900/01/01 よりも前の日付だと
正しい西暦の年月日を入力しても
parse結果が不定となってしまうということがさっき分かりました。
したがって残念ながら>>524のcodeは>>522の題意を満たしているとは
言いがたいものでした。ゴメンね〜

526デフォルトの名無しさん2019/09/21(土) 22:37:53.07ID:tuxPF//K

527蟻人間 ◆T6xkBnTXz7B0 2019/09/21(土) 22:44:04.41ID:7nrsNPcd
令和1年を令和元年にしないといけないという落とし穴があるようだ。

528デフォルトの名無しさん2019/09/21(土) 22:45:06.50ID:Awwp+36u
>>504 Ruby

p $<.map(&:chomp).yield_self{|e| e.uniq.map{|v| [v, e.count(v)]}}

# => [["Hoge", 2], ["Fuga", 3], ["Foo", 2], ["Bar", 1]]

529デフォルトの名無しさん2019/09/21(土) 23:03:57.96ID:tuxPF//K
>>527 Java
https://ideone.com/q1JPJ5
しゅうせいしまった

530デフォルトの名無しさん2019/09/22(日) 01:12:38.88ID:35++XhB6
>>496 Squeak Smalltalk

#('a b c 44' 'x y 33' 'z 22' '11') sortBy: [:x | x splitInteger last] ascending

"=> an OrderedCollection('11' 'z 22' 'x y 33' 'a b c 44') "

531デフォルトの名無しさん2019/09/22(日) 01:25:15.35ID:35++XhB6
>>504 Pharo/Squeak Smalltalk

'Hoge
Fuga
Foo
Fuga
Foo
Hoge
Bar
Fuga' lines asBag sortedElements

"=> {'Bar'->1 . 'Foo'->2 . 'Fuga'->3 . 'Hoge'->2} "

532デフォルトの名無しさん2019/09/22(日) 01:56:51.52ID:35++XhB6
>>467 Pharo/Squeak Smalltalk

| fn |

fn := [:str | String streamContents: [:ss |
(str as: RunArray) runsAndValuesDo: [:n :x |
ss nextPut: x; nextPutAll: (n = 1 ifTrue: [''] ifFalse: [n asString])
]
]].

fn value: 'あいうえお'. "=> 'あいうえお' "
fn value: 'ああいいうう'. "=> 'あ2い2う2' "
fn value: 'あいうあいう'. "=> 'あいうあいう' "

533デフォルトの名無しさん2019/09/22(日) 08:19:31.82ID:uuB9aO9i
>>514 Ruby

suffixes = %w[th st nd rd]
f = -> n {(-(-((n - 10) / 10 % 10) / 9)) * 41 / (n % 10 * 10 + 11) * (n % 10)}

[
  1, 2, 3, 4, 11, 12, 13, 21, 22, 23, 101, 102, 103, 111, 112, 113, 121, 122, 123
].each{|v| puts '%1$d => %1$d%2$s' % [v, suffixes[f[v]]]}

# =>
1 => 1st
2 => 2nd
3 => 3rd
4 => 4th
11 => 11th
12 => 12th
13 => 13th
21 => 21st
22 => 22nd
23 => 23rd
101 => 101st
102 => 102nd
103 => 103rd
111 => 111th
112 => 112th
113 => 113th
121 => 121st
122 => 122nd
123 => 123rd

534デフォルトの名無しさん2019/09/22(日) 08:57:02.33ID:yY5QhyPL
>>533
ruby知らんけどそのfって何?

535デフォルトの名無しさん2019/09/22(日) 09:05:16.49ID:8u0YwnlN
ラムダ式じゃねーの
おれもruby知らんが

536デフォルトの名無しさん2019/09/22(日) 09:16:58.95ID:W3ewN8v1
(dolist (n (list 1 2 3 11 12 13 21 22 23 101 102 103 111 112 113 121 122 123) ) (format t "~:R~%" n))
first
second
third
eleventh
twelfth
thirteenth
twenty-first
twenty-second
twenty-third
one hundred first
one hundred second
one hundred third
one hundred eleventh
one hundred twelfth
one hundred thirteenth
one hundred twenty-first
one hundred twenty-second
one hundred twenty-third

537デフォルトの名無しさん2019/09/22(日) 09:21:41.49ID:uuB9aO9i
>>534-535
ラムダ式.
任意の自然数 n に対して次の式は n の序数詞の末尾が th なら 0, st なら 1, nd なら 2, rd なら 3 を返す.(除算は切り捨て)
(-(-((n - 10) / 10 % 10) / 9)) * 41 / (n % 10 * 10 + 11) * (n % 10)

538デフォルトの名無しさん2019/09/22(日) 10:14:00.13ID:UtdvR7ZT
>>514 Lua
function f(n)
   local r,x
   x=n%10
   if n%100-x==10 or x<1 or x>3 then
   r="th"
   else
   r=({"st","nd","rd"})[x]
   end
   return n..r
end

539デフォルトの名無しさん2019/09/22(日) 11:43:05.12ID:OEThTvH6
>>514 JavaScript
const f=n=>n+=[,'st','nd','rd'][n%100>>3^1&&n%10]||'th'
実行結果略

540デフォルトの名無しさん2019/09/22(日) 11:51:21.39ID:OEThTvH6
>>522, >>521 JavaScript
const isValid = seireki => {
let check
try {
check = new Intl
.DateTimeFormat('ja-JP', {year: 'numeric', month: '2-digit', day: '2-digit'})
.format(new Date(seireki))
} catch (e) { return false }
return seireki === check ? true : false
}
const seirekiToWareki = seireki => {
if (!isValid(seireki)) return 'ERROR'
const wareki = new Intl
.DateTimeFormat('ja-JP-u-ca-japanese', {era: 'long', year: 'numeric', month: 'numeric', day: 'numeric'})
.format(new Date(seireki))
.replace(/(正|和|成)1(年)/, '$1元$2')
return ['大正', '昭和', '平成', '令和'].includes(wareki.slice(0, 2)) ? wareki : 'ERROR'
}
`1979/01/05
1990/12/31
2019/04/28
2019/05/01
1920/02/29
0000/13/32`
.split`\n`.forEach(seireki => {console.log(seirekiToWareki(seireki))})
実行結果:
昭和54年1月5日
平成2年12月31日
平成31年4月28日
令和元年5月1日
大正9年2月29日
ERROR

541デフォルトの名無しさん2019/09/22(日) 14:55:10.69ID:yzO2ACAf
>>521-523 Perl5

use Time::Piece; #use Data::Dump 'dump';
@fy = (['2019/05/01', '令和'], ['1989/01/08', '平成'], ['1926/12/25', '昭和'], ['1912/07/30', '大正']);
$$_[0] = Time::Piece->strptime($$_[0], '%Y/%m/%d') for @fy;
for (qw{1970/01/05 1990/12/31 2019/04/28 2019/05/01 1920/02/29 1912/07/29 2019/02/29}) {
 my ($t, $t0, $era, $nen);
 eval {$t = Time::Piece->strptime($_, '%Y/%m/%d')};
 if ($t and $t->strftime('%Y/%m/%d') eq $_) {
  do {($t0, $era) = @$_, last if $$_[0] <= $t} for @fy;
  if ($t0) {
   $nen = ($y = $t->year - $t0->year, $y ? $y + 1 : '元').'年' if $t0;
   $t = "$era$nen".$t->mon.'月'.$t->mday.'日';
  } else {
   $t = 'ERROR';
  }
 } else {
  $t = 'Invalid';
 }
 print "$_: $t\n";
}

実行結果
~ $ perl 15_521.pl
1970/01/05: 昭和45年1月5日
1990/12/31: 平成2年12月31日
2019/04/28: 平成31年4月28日
2019/05/01: 令和元年5月1日
1920/02/29: 大正9年2月29日
1912/07/29: ERROR
2019/02/29: Invalid

542デフォルトの名無しさん2019/09/22(日) 14:59:46.00ID:yzO2ACAf
>>541
一行目のコメント
#use Data::Dump 'dump';
はdebugの際に使ったstatementの消し忘れにつき、不要

543デフォルトの名無しさん2019/09/22(日) 15:13:26.78ID:yzO2ACAf
>>541
$nen = ($y = $t->year - $t0->year, $y ? $y + 1 : '元').'年' if $t0;
の「 if $t0」も削除し忘れだな、ゴメンチャイ

544デフォルトの名無しさん2019/09/22(日) 16:19:32.48ID:iYBBHKU1
https://github.com/systemd/systemd/blob/82d1264048a3768fb8238387810f78c5d3912058/src/journal/journalctl.c#L2405-L2461
このif elseの羅列をリファクタリングしてください(´・ω・`)

545デフォルトの名無しさん2019/09/22(日) 17:24:37.46ID:W3ewN8v1
無駄に否定演算子で分かりにくくしている
if (!arg_reverse)
r = sd_journal_next_skip(j, 1 + after_cursor);
else
r = sd_journal_previous_skip(j, 1 + after_cursor);

546デフォルトの名無しさん2019/09/22(日) 17:45:39.81ID:vTpi5vA1
>>544
http://hengband.es.land.to/hengband-1.7.0-svn/

このあたりのspells1.cのproject_fのほうが豪華だよ

547デフォルトの名無しさん2019/09/22(日) 18:17:09.14ID:yzO2ACAf
>>521 Perl5 >>541 を少しコンパクトにしてみた

use Time::Piece;
@fy = (['2019/05/01','令和'],['1989/01/08','平成'],['1926/12/25','昭和'],['1912/07/30','大正']);
$$_[0] = Time::Piece->strptime($$_[0], '%Y/%m/%d') for @fy;
for (qw{1970/01/05 1990/12/31 2019/04/28 2019/05/01 1920/02/29 1912/07/29 2019/02/29}) {
 my ($t, $t0, $era, $nen);
 eval {$t = Time::Piece->strptime($_, '%Y/%m/%d')};
 $s = 'Invalid';
 if ($t and $t->strftime('%Y/%m/%d') eq $_) {
  do {($t0, $era) = @$_, last if $$_[0] <= $t} for @fy;
  $s = 'ERROR';
  if ($t0) {
   $nen = ($y = $t->year - $t0->year, $y ? $y + 1 : '元').'年';
   $s = "$era$nen" . $t->mon . '月' . $t->mday . '日';
  }
 }
 print "$_: $s\n";
}


lud20190922202833
このスレへの固定リンク: http://5chb.net/r/tech/1564310397/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  
このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ



全掲示板一覧 この掲示板へ 人気スレ | Youtube 動画 >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「プログラミングのお題スレ Part15 YouTube動画>1本 ->画像>14枚 」を見た人も見ています:
プログラミングのお題スレ Part11
プログラミングのお題スレ Part16
プログラミングのお題スレ Part12
プログラミングのお題スレ Part10
プログラミングのお題スレ Part13
プログラミングのお題スレ Part14
プログラミングのお題スレ Part19
プログラミングのお題スレ Part18
プログラミングのお題スレ Part17
プログラミングのお題スレ Part9
プログラミングのお題スレ Part8
プログラミングのお題スレ Part7
プログラミングのお題スレ Part20
プログラミングのお題スレ Part22
プログラミングのお題スレ Part21
UNIXプログラミング質問すれ Part10
プログラミング言語 Kuin Part 16#01
関数型プログラミング言語Haskell Part30
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part19
WPF(.NET4.x, .NET Core) GUIプログラミング Part24
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part22
WPF(.NET4.x, .NET Core) GUIプログラミング Part23
【Switch】ナビつき! つくってわかる はじめてゲームプログラミング Part1
プログラミング詐欺?情報商材屋マナブ(ねずみ男・アル中)ってどうよ? Part2
安価でプログラミングの教科書を作るスレ
サーバー使ったプログラミングの勉強したいからお題だしてください
休みだから初心者が1日中プログラミングの勉強するスレ
関数型プログラミング言語Haskell Part31
関数型プログラミング言語Haskell Part32
WPF(.NET4.x, .NET Core) GUIプログラミング Part25
七行プログラミング part6
UNIXプログラミング質問すれ Part8
最も美しいプログラミング言語は? Part6
関数型プログラミング言語Haskell Part26
関数型プログラミング言語Haskell Part34
関数型プログラミング言語Haskell Part33
PlayStation Mobileプログラミング part 7
WPF(.NET, WinUI) GUIプログラミング Part27
WPF(.NET, WinUI) GUIプログラミング Part30
WPF(.NET, WinUI) GUIプログラミング Part33
WPF(.NET, WinUI) GUIプログラミング Part32
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part21
【Switch】ナビつき! つくってわかる はじめてゲームプログラミング Part3
Androidプログラミング質問スレ revision55
競技プログラミングにハマるプログラマのスレ 15
昨日プログラミングが好きなやつほどプログラミングのセンスがないってスレ立ってたけど
今日のプログラミングスレ
Androidプログラミング質問スレ revision54
ヒッキーの競技プログラミングするスレ 3完
Androidプログラミング質問スレ revision53
競技プログラミングにハマるプログラマのスレ 9
競技プログラミングにハマるプログラマのスレ 19
競技プログラミングにハマるプログラマのスレ 18
競技プログラミングにハマるプログラマのスレ 13
競技プログラミングにハマるプログラマのスレ 17
競技プログラミングにハマるプログラマのスレ 22
競技プログラミング総合スレ 65
競技プログラミングにハマるプログラマのスレ 95
競技プログラミングにハマるプログラマのスレ 25
競技プログラミングにハマるプログラマのスレ 85
競技プログラミングにハマるプログラマのスレ 105
競技プログラミングにハマるプログラマのスレ 45
競技プログラミングにハマるプログラマのスレ 5 [無断転載禁止]
ネットワークプログラミング相談室 Port30
Googleのプログラミング言語 「Dart3」 100%Nullセーフ、WebAssemblyとRISC-Vサポート
17:13:40 up 20 days, 18:17, 2 users, load average: 9.09, 8.73, 9.14

in 0.030882835388184 sec @0.030882835388184@0b7 on 020307