プログラミングのお題スレです。
【出題と回答例】
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/
宿題は宿題スレがあるのでそちらへ。
※前スレ
プログラミングのお題スレ Part17
https://mevius.5ch.net/test/read.cgi/tech/1584031367/
探検
プログラミングのお題スレ Part18
■ このスレッドは過去ログ倉庫に格納されています
2020/07/14(火) 13:53:46.47ID:jW5p6F/e
273デフォルトの名無しさん
2020/08/10(月) 18:43:36.36ID:TsKVv45J274デフォルトの名無しさん
2020/08/10(月) 21:10:04.86ID:EfqLUS40 >>249 Python3
def f(a, b): return len(a) == len(b) and a in b + b
def f(a, b): return len(a) == len(b) and a in b + b
275デフォルトの名無しさん
2020/08/10(月) 22:32:27.25ID:tDeKMBiv276デフォルトの名無しさん
2020/08/10(月) 23:41:40.77ID:SKFyjjt9277デフォルトの名無しさん
2020/08/10(月) 23:46:58.70ID:lJp+wmfa bfってループの入れ子できたっけ?
278デフォルトの名無しさん
2020/08/10(月) 23:47:11.22ID:SwBLGnEH >>277
できる
できる
279272
2020/08/11(火) 01:47:49.41ID:RwCZynCZ280デフォルトの名無しさん
2020/08/11(火) 01:50:50.24ID:RwCZynCZ281デフォルトの名無しさん
2020/08/11(火) 07:40:40.35ID:RSsrE9PW282デフォルトの名無しさん
2020/08/11(火) 14:40:27.33ID:psN1NwFJ こんなに暑いと座禅プログラムで涼みたい。
283デフォルトの名無しさん
2020/08/12(水) 10:55:20.81ID:WiVroiaz 警策を上から振り下ろす動作の機械を作り、そこにマイコンを接続。更に行ったり
来たりするルンバのようなものの上にそれを乗せ、そこにもマイコンを接続。
そのマイコンのコントロールプログラムを作成。
来たりするルンバのようなものの上にそれを乗せ、そこにもマイコンを接続。
そのマイコンのコントロールプログラムを作成。
284デフォルトの名無しさん
2020/08/12(水) 11:07:50.98ID:WiVroiaz285デフォルトの名無しさん
2020/08/12(水) 16:50:07.72ID:xjprAYba 令和のコペルニクス
https://youtu.be/7DbdPKWhrpY
https://youtu.be/7DbdPKWhrpY
286デフォルトの名無しさん
2020/08/12(水) 19:58:36.03ID:j5y8ZKQl お題
Brainfuckのの'+','-','.'の 3つの命令のみで
特定の文字列を表示するBrainfucの
ソースコードを生成するプログラム。
Brainfuckのの'+','-','.'の 3つの命令のみで
特定の文字列を表示するBrainfucの
ソースコードを生成するプログラム。
287デフォルトの名無しさん
2020/08/12(水) 20:07:13.01ID:kGuev0jH >>286 Ruby
puts "Hello, World!\n".codepoints.unshift(0).each_cons(2).map{|a, b| '%s.' % ((b > a ? ?+ : ?-) * (b - a).abs)}*''
# =>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
+++++++++++++++++++++++++++++.+++++++..+++.[略]
puts "Hello, World!\n".codepoints.unshift(0).each_cons(2).map{|a, b| '%s.' % ((b > a ? ?+ : ?-) * (b - a).abs)}*''
# =>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
+++++++++++++++++++++++++++++.+++++++..+++.[略]
288デフォルトの名無しさん
2020/08/12(水) 23:55:21.87ID:WiVroiaz 差分出すっていうと ADPCM の圧縮を思い出すな。
289デフォルトの名無しさん
2020/08/13(木) 01:08:54.66ID:TUx4JMNp >>286
Perl5
プログラムの構造は >>287 と同じだがワンライナー。
行単位で標準入力から入力して標準出力に出力する。入力の最後の改行は削除している。行ごとに直前の文字は0にリセットしている。
見易くするために '.' の後には改行を出力している。
以下は Linux のシェルのコマンドラインで実行して abc と Hello, world. を入力した時のコピペ。
$ perl -ne 'BEGIN{$o=0}chomp;for(split //){$c=ord($_);print((($o < $c ? "+" : "-") x abs($o - $c)) . ".\n");$o=$c}$o=0'
abc
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
+.
+.
Hello, world.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
+++++++++++++++++++++++++++++.
+++++++.
.
+++.
-------------------------------------------------------------------.
------------.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
--------.
+++.
------.
--------.
------------------------------------------------------.
$
Perl5
プログラムの構造は >>287 と同じだがワンライナー。
行単位で標準入力から入力して標準出力に出力する。入力の最後の改行は削除している。行ごとに直前の文字は0にリセットしている。
見易くするために '.' の後には改行を出力している。
以下は Linux のシェルのコマンドラインで実行して abc と Hello, world. を入力した時のコピペ。
$ perl -ne 'BEGIN{$o=0}chomp;for(split //){$c=ord($_);print((($o < $c ? "+" : "-") x abs($o - $c)) . ".\n");$o=$c}$o=0'
abc
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
+.
+.
Hello, world.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
+++++++++++++++++++++++++++++.
+++++++.
.
+++.
-------------------------------------------------------------------.
------------.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
--------.
+++.
------.
--------.
------------------------------------------------------.
$
290デフォルトの名無しさん
2020/08/13(木) 01:49:54.11ID:CZu90IWX >>286 Ruby
"Hello World!\n".codepoints.inject(''){|r,c| r << '+' * c + '.[-]' }
"Hello World!\n".codepoints.inject(''){|r,c| r << '+' * c + '.[-]' }
291デフォルトの名無しさん
2020/08/13(木) 03:32:09.93ID:CZu90IWX >>286 Ruby
"Hello World!\n".codepoints.map{|c| '+' * c + '.' }.join( '[-]' )
"Hello World!\n".codepoints.map{|c| '+' * c + '.' }.join( '[-]' )
292デフォルトの名無しさん
2020/08/13(木) 05:51:07.18ID:CZu90IWX293デフォルトの名無しさん
2020/08/13(木) 06:48:39.25ID:9ZM4Lmsz294デフォルトの名無しさん
2020/08/13(木) 12:37:03.85ID:8zEuDtsy なるほどbrainfuckでは[-]で現在指してるメモリの値を0クリアできるのか
295デフォルトの名無しさん
2020/08/14(金) 01:20:11.50ID:CuxcYYZ5 お題:変数a, b, cを32ビット符号付き整数の最大値で初期化、または代入せよ。
octave
https://ideone.com/62dSzC
ada95
https://ideone.com/26IGLZ
octave
https://ideone.com/62dSzC
ada95
https://ideone.com/26IGLZ
296デフォルトの名無しさん
2020/08/14(金) 03:17:07.09ID:cCFmHkiX >>295 Ruby
# 初期化だけ
a = b = c = 2**31 - 1
# 初期化して表示
p *(a,b,c = [2**31-1] * 3) #=> 2147483647\n2147483647\n2147483647\n
# 初期化だけ
a = b = c = 2**31 - 1
# 初期化して表示
p *(a,b,c = [2**31-1] * 3) #=> 2147483647\n2147483647\n2147483647\n
297デフォルトの名無しさん
2020/08/14(金) 07:01:38.27ID:cCFmHkiX >>295 Ruby
お題とずれるけど INT32_MAX, INT32_MIN を普通の演算以外で作ってみた
# 定数 0,1 から INT32_MAX, INT32_MIN
[~0].pack('l').unpack('L').first >> 1 #=> 2147483647
[~0].pack('l').unpack('N').first >> 1 #=> -2147483648
# 定数 1 から INT32_MAX, INT32_MIN
[~1].pack('l<').unpack('b*').pack('B*').unpack('l>').first #=> 2147483647
[1].pack('l<').unpack('b*').pack('B*').unpack('l>').first #=> -2147483648
お題とずれるけど INT32_MAX, INT32_MIN を普通の演算以外で作ってみた
# 定数 0,1 から INT32_MAX, INT32_MIN
[~0].pack('l').unpack('L').first >> 1 #=> 2147483647
[~0].pack('l').unpack('N').first >> 1 #=> -2147483648
# 定数 1 から INT32_MAX, INT32_MIN
[~1].pack('l<').unpack('b*').pack('B*').unpack('l>').first #=> 2147483647
[1].pack('l<').unpack('b*').pack('B*').unpack('l>').first #=> -2147483648
298デフォルトの名無しさん
2020/08/14(金) 08:01:01.07ID:sgFs/qSh299デフォルトの名無しさん
2020/08/14(金) 08:17:19.00ID:jifd8sPx300デフォルトの名無しさん
2020/08/14(金) 08:18:37.41ID:jifd8sPx あ maxとminが逆だった
301デフォルトの名無しさん
2020/08/14(金) 08:20:39.60ID:jifd8sPx しかもお題と関係ない スマソ
302デフォルトの名無しさん
2020/08/14(金) 08:21:04.21ID:hpI++Bi7303デフォルトの名無しさん
2020/08/14(金) 08:38:19.44ID:jifd8sPx >>295 C++(訂正)
#include <iostream>
#include <tuple>
int main() {
int32_t max = ~(1 << 31);
const auto [a, b, c] = [&]() { return std::tie(max, max, max); }();
std::cout << a << std::endl;
std::cout << b << std::endl;
std::cout << c << std::endl;
}
#include <iostream>
#include <tuple>
int main() {
int32_t max = ~(1 << 31);
const auto [a, b, c] = [&]() { return std::tie(max, max, max); }();
std::cout << a << std::endl;
std::cout << b << std::endl;
std::cout << c << std::endl;
}
304デフォルトの名無しさん
2020/08/14(金) 09:05:58.49ID:jifd8sPx const auto [a, b, c] = std::tie(max, max, max);
これだけでよかったorz
これだけでよかったorz
305デフォルトの名無しさん
2020/08/14(金) 14:02:54.65ID:9qHjnK+i お題:任意文字列を含むビットコインアドレスを生成するスクリプト
BitCoinDescriptionAddress
↓
1BitCoinDescriptionAddressadTvGDH
BitCoinDescriptionAddress
↓
1BitCoinDescriptionAddressadTvGDH
306デフォルトの名無しさん
2020/08/15(土) 16:58:24.79ID:gFfdk9Ij >>295
Kotlin 及び Kotlin script
普通にただ Int.MAX_VALUE を代入するだけだとつまらないので List 使ってまとめて代入。
val (a, b, c) = listOf(Int.MAX_VALUE, Int.MAX_VALUE, Int.MAX_VALUE)
この形式は実際には a に List のインスタンスの component1() メソッドを実行して結果を代入、
b に component2() の結果を代入、c に component3() の結果を代入という具合に componentN()
のメソッドを呼び出しているだけだ。(コンパイラが自動でそういう風にしてくれる。但し定数の代入
だったら最終的にはうまい事最適化してくれてただの値の代入になっているんじゃないかと思う)。
それで、List インターフェースには component5() までしかないのでそのままだと 5 個の変数にしか
代入できない。しかし自分で下記のように component6() という拡張関数を作れば 6 個目の変数への
代入ができるようになる。
fun <T> List<T>.component6() = get(5)
val (a, b, c, d, e, f) = listOf(Int.MAX_VALUE, Int.MAX_VALUE, Int.MAX_VALUE, 1, 2, 3)
これで f には 3 が代入される。
まあしかしこのような形式でまとめて複数の変数を初期化をするのは変数が多くなればなるほど
見辛くなってどれがどれに代入されるか分かり辛くなるのであまりお勧めする気は起きない。
Kotlin 及び Kotlin script
普通にただ Int.MAX_VALUE を代入するだけだとつまらないので List 使ってまとめて代入。
val (a, b, c) = listOf(Int.MAX_VALUE, Int.MAX_VALUE, Int.MAX_VALUE)
この形式は実際には a に List のインスタンスの component1() メソッドを実行して結果を代入、
b に component2() の結果を代入、c に component3() の結果を代入という具合に componentN()
のメソッドを呼び出しているだけだ。(コンパイラが自動でそういう風にしてくれる。但し定数の代入
だったら最終的にはうまい事最適化してくれてただの値の代入になっているんじゃないかと思う)。
それで、List インターフェースには component5() までしかないのでそのままだと 5 個の変数にしか
代入できない。しかし自分で下記のように component6() という拡張関数を作れば 6 個目の変数への
代入ができるようになる。
fun <T> List<T>.component6() = get(5)
val (a, b, c, d, e, f) = listOf(Int.MAX_VALUE, Int.MAX_VALUE, Int.MAX_VALUE, 1, 2, 3)
これで f には 3 が代入される。
まあしかしこのような形式でまとめて複数の変数を初期化をするのは変数が多くなればなるほど
見辛くなってどれがどれに代入されるか分かり辛くなるのであまりお勧めする気は起きない。
307295
2020/08/15(土) 17:28:56.25ID:nnj+MvqH308デフォルトの名無しさん
2020/08/15(土) 17:57:15.54ID:uqmyrozg お題
長さNの順列を全列挙してください
入力: N
出力: N!行の1からNの整数を用いた順列
例
入力: 3
出力:
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
長さNの順列を全列挙してください
入力: N
出力: N!行の1からNの整数を用いた順列
例
入力: 3
出力:
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
309デフォルトの名無しさん
2020/08/15(土) 18:04:12.38ID:WnA8LB9O310デフォルトの名無しさん
2020/08/15(土) 18:07:06.59ID:nnj+MvqH311デフォルトの名無しさん
2020/08/15(土) 19:24:16.43ID:4GsEJ4Sf お題
HTMLドキュメントをwebブラウアザ上に表示するプログラムを作りなさい。
内容は、html、head、meta、title、body、h1 を含み、
UTF-8で表示するものとする、
Hello World!
HTMLドキュメントをwebブラウアザ上に表示するプログラムを作りなさい。
内容は、html、head、meta、title、body、h1 を含み、
UTF-8で表示するものとする、
Hello World!
312デフォルトの名無しさん
2020/08/15(土) 20:07:59.51ID:nR02Shr3 お題: 整数の0,1を真偽値のfalse,trueに変換しなさい
313デフォルトの名無しさん
2020/08/15(土) 20:22:45.39ID:BUqVCKAW >>311 Ruby
require 'webrick'
BrowserPath = 'C:/Program Files/Mozilla Firefox/firefox.exe'
srv = WEBrick::HTTPServer.new( {BindAddress: '127.0.0.1', Port: 55080} )
trap("INT"){ srv.shutdown }
srv.mount_proc('/') do |req, res|
html = <<_EOT_
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Title</title></head>
<body>
<h1>Hello World!</h1>#{Time.now.strftime('%y/%m/%d %T')}<br></body></html>
_EOT_
res.body = html.encode( Encoding::UTF_8 )
res['Content-Type'] = 'text/html'
end
Thread.new { sleep 1; system( %Q{"#{BrowserPath}" http://127.0.0.1:55080/} ) }
srv.start
require 'webrick'
BrowserPath = 'C:/Program Files/Mozilla Firefox/firefox.exe'
srv = WEBrick::HTTPServer.new( {BindAddress: '127.0.0.1', Port: 55080} )
trap("INT"){ srv.shutdown }
srv.mount_proc('/') do |req, res|
html = <<_EOT_
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Title</title></head>
<body>
<h1>Hello World!</h1>#{Time.now.strftime('%y/%m/%d %T')}<br></body></html>
_EOT_
res.body = html.encode( Encoding::UTF_8 )
res['Content-Type'] = 'text/html'
end
Thread.new { sleep 1; system( %Q{"#{BrowserPath}" http://127.0.0.1:55080/} ) }
srv.start
314デフォルトの名無しさん
2020/08/15(土) 20:34:31.85ID:BUqVCKAW >>312 Ruby
def i2b( x )
if x.is_a?( Integer )
return false if x == 0
return true if x == 1
end
x
end
[ 'foo', 7, 1, 1.0, [], true, false, 0, {} ].each{|x|
puts "%5p : %5p" % [x, i2b( x )]
}
# =>
"foo" : "foo"
7 : 7
1 : true
1.0 : 1.0
[] : []
true : true
false : false
0 : false
0 : false
{} : {}
def i2b( x )
if x.is_a?( Integer )
return false if x == 0
return true if x == 1
end
x
end
[ 'foo', 7, 1, 1.0, [], true, false, 0, {} ].each{|x|
puts "%5p : %5p" % [x, i2b( x )]
}
# =>
"foo" : "foo"
7 : 7
1 : true
1.0 : 1.0
[] : []
true : true
false : false
0 : false
0 : false
{} : {}
316デフォルトの名無しさん
2020/08/15(土) 20:49:55.10ID:WnA8LB9O317デフォルトの名無しさん
2020/08/15(土) 20:59:34.51ID:nnj+MvqH >>312 ocaml
https://ideone.com/nSKbMo
let f = function 0 -> false | 1 -> true
let () = Printf.printf "%B %B" (f 0) (f 1)
>>312 c++
https://ideone.com/Dm4QrP
#include <iostream>
#include <iomanip>
int main() {
std::cout << std::boolalpha << 0 << !!0 << 1 << !!1 << std::endl;
return 0;
}
https://ideone.com/nSKbMo
let f = function 0 -> false | 1 -> true
let () = Printf.printf "%B %B" (f 0) (f 1)
>>312 c++
https://ideone.com/Dm4QrP
#include <iostream>
#include <iomanip>
int main() {
std::cout << std::boolalpha << 0 << !!0 << 1 << !!1 << std::endl;
return 0;
}
318デフォルトの名無しさん
2020/08/15(土) 21:22:21.80ID:v9cGseLQ319デフォルトの名無しさん
2020/08/15(土) 23:19:07.77ID:gFfdk9Ij >>312
Kotlin 及び Kotlin Script
まず、こういう拡張関数を定義しておく。
fun Int.toBoolean() = this != 0
この後は Int 型のインスタンスに対して .toBoolean() で 0 なら false, 0 以外なら true が返る。
例
0.toBoolean() は false になる。
1.toBoolean() は true になる。
x.toBoolean() は x の型が Int で 0 なら false, 0 以外なら true になる。x がその他の型だとコンパイルエラー。
Kotlin 及び Kotlin Script
まず、こういう拡張関数を定義しておく。
fun Int.toBoolean() = this != 0
この後は Int 型のインスタンスに対して .toBoolean() で 0 なら false, 0 以外なら true が返る。
例
0.toBoolean() は false になる。
1.toBoolean() は true になる。
x.toBoolean() は x の型が Int で 0 なら false, 0 以外なら true になる。x がその他の型だとコンパイルエラー。
320デフォルトの名無しさん
2020/08/16(日) 02:10:15.75ID:aQEvXwVj321デフォルトの名無しさん
2020/08/16(日) 10:54:19.77ID:DGzsHTxH322デフォルトの名無しさん
2020/08/16(日) 11:17:36.83ID:x8ZjthFZ323デフォルトの名無しさん
2020/08/16(日) 19:28:34.07ID:Stgr85a5324蟻人間 ◆T6xkBnTXz7B0
2020/08/16(日) 19:41:54.77ID:GwA/W8AI お題: 浮動小数点数の区間演算の加減乗除(+、-、*、/)を実現しなさい。開区間は丸カッコを、閉区間は角カッコを使う。
区間はカッコで囲まれた数の対で表すものとする。ここで対の最初の要素は対の最後の要素以下とする。
例)
[1, 3) + 2 → [3, 5).
[2, 8] - [1, 2] → [0, 7].
(-3, 2] * (1, [2, 3)) → (-9, 6).
区間はカッコで囲まれた数の対で表すものとする。ここで対の最初の要素は対の最後の要素以下とする。
例)
[1, 3) + 2 → [3, 5).
[2, 8] - [1, 2] → [0, 7].
(-3, 2] * (1, [2, 3)) → (-9, 6).
325デフォルトの名無しさん
2020/08/16(日) 19:47:13.56ID:WQRWSQYc326蟻人間 ◆T6xkBnTXz7B0
2020/08/16(日) 19:54:55.84ID:GwA/W8AI327デフォルトの名無しさん
2020/08/16(日) 19:59:26.75ID:WQRWSQYc >>326
任意の区間に対してどのように順序を定義して全順序集合を構成するのか考えてから言えよクソ雑魚が
任意の区間に対してどのように順序を定義して全順序集合を構成するのか考えてから言えよクソ雑魚が
328デフォルトの名無しさん
2020/08/16(日) 20:01:44.11ID:5GlLVozn そもそも 2 と [2, 2] が同じだと思ってる時点でやばいよ
ペアノ系で 0 = 1 って言ってるようなもんだぞ
ペアノ系で 0 = 1 って言ってるようなもんだぞ
329蟻人間 ◆T6xkBnTXz7B0
2020/08/16(日) 20:08:52.13ID:GwA/W8AI >>327
任意の[x, y]についてx<=yと仮定する。
[a, b] + [c, d] == [a+c, b+d].
[a, b] - [c, d] == [a-d, b-c].
[a, b] * [c, d] == [min(a*c, b*c, a*d, b*d), max(a*c, b*c, a*d, b*d)].
[a, b] / [c, d] == [min(a/c, b/c, a/d, b/d), max(a/c, b/c, a/d, b/d)].
任意の[x, y]についてx<=yと仮定する。
[a, b] + [c, d] == [a+c, b+d].
[a, b] - [c, d] == [a-d, b-c].
[a, b] * [c, d] == [min(a*c, b*c, a*d, b*d), max(a*c, b*c, a*d, b*d)].
[a, b] / [c, d] == [min(a/c, b/c, a/d, b/d), max(a/c, b/c, a/d, b/d)].
330デフォルトの名無しさん
2020/08/16(日) 20:11:24.43ID:WQRWSQYc >>329
順序の定義しろっつってんだろクソが
「(1, [2, 3))」かつ「対の最初の要素は対の最後の要素以下とする」って言ってるってことは
[1, 1] <= [2, 3) なんだろ?
任意の区間の間で矛盾なく順序を定義しろや
順序の定義しろっつってんだろクソが
「(1, [2, 3))」かつ「対の最初の要素は対の最後の要素以下とする」って言ってるってことは
[1, 1] <= [2, 3) なんだろ?
任意の区間の間で矛盾なく順序を定義しろや
331蟻人間 ◆T6xkBnTXz7B0
2020/08/16(日) 20:24:24.91ID:GwA/W8AI >>330
すみません。カッコの入れ子はややこしいので止めます、、、
というのは簡単だが、あえて考える。
b<=cならば、間違いなく[a, b] <= [c, d]は真。
d<aならば、[a, b] <= [c, d]は偽。
それ以外は[a, b] <= [c, d]の論理値は不定とし、実行時エラーを発生させる。
すみません。カッコの入れ子はややこしいので止めます、、、
というのは簡単だが、あえて考える。
b<=cならば、間違いなく[a, b] <= [c, d]は真。
d<aならば、[a, b] <= [c, d]は偽。
それ以外は[a, b] <= [c, d]の論理値は不定とし、実行時エラーを発生させる。
332デフォルトの名無しさん
2020/08/16(日) 20:32:34.77ID:WQRWSQYc >>331
完全律すら成り立たない順序ってなんだよ
「カッコの入れ子はややこしい」とかそういうレベルじゃねえんだよ
だいたい [a, b] - [a, b] = [a - b, b - a] != 0 ってクッソきもいんですけど
お前群論なめてんのか
完全律すら成り立たない順序ってなんだよ
「カッコの入れ子はややこしい」とかそういうレベルじゃねえんだよ
だいたい [a, b] - [a, b] = [a - b, b - a] != 0 ってクッソきもいんですけど
お前群論なめてんのか
333デフォルトの名無しさん
2020/08/16(日) 20:34:23.06ID:1lLvvYB6 計算の順番を変えたりするだけで簡単に全部エラーにできるから流石にお粗末だね
334デフォルトの名無しさん
2020/08/16(日) 20:50:12.97ID:5EzRC1Sr >>331
死ねカス
死ねカス
335蟻人間 ◆T6xkBnTXz7B0
2020/08/16(日) 20:54:18.06ID:GwA/W8AI >>332
> だいたい [a, b] - [a, b] = [a - b, b - a] != 0 ってクッソきもいんですけど
[a - b, b - a] はゼロを中心とした区間の誤差範囲を表してるから間違いではない。計算機の内部には群論が成り立たない汚い演算もある。
> だいたい [a, b] - [a, b] = [a - b, b - a] != 0 ってクッソきもいんですけど
[a - b, b - a] はゼロを中心とした区間の誤差範囲を表してるから間違いではない。計算機の内部には群論が成り立たない汚い演算もある。
336デフォルトの名無しさん
2020/08/16(日) 20:57:11.13ID:rY4w2Ca/ まーたスレタイからズレてるよ
問題に不備があったなら取り下げて勉強し直してこい
群論を教えるスレじゃない
何があえて考えてみるだ
問題に不備があったなら取り下げて勉強し直してこい
群論を教えるスレじゃない
何があえて考えてみるだ
337デフォルトの名無しさん
2020/08/16(日) 21:13:43.55ID:WQRWSQYc where 0 < a < b
0 = 0 * [0, 1]
= ([a, b] + [-a, -b]) * [0, 1]
= [a, b] * [0, 1] + [-a, -b] * [0, 1]
= [0, b] + [-b, 0]
= [-b, b]
!= [0, 0] = 0
矛盾
死ね
消えろ
0 = 0 * [0, 1]
= ([a, b] + [-a, -b]) * [0, 1]
= [a, b] * [0, 1] + [-a, -b] * [0, 1]
= [0, b] + [-b, 0]
= [-b, b]
!= [0, 0] = 0
矛盾
死ね
消えろ
339デフォルトの名無しさん
2020/08/16(日) 21:29:26.85ID:WQRWSQYc340デフォルトの名無しさん
2020/08/16(日) 21:34:29.96ID:1lLvvYB6 [0, 1]*[0, 1] = [0, 1]
<=> [0, 1]*([0, 1] - 1) = 0
<=> [0, 1]*[-1, 0] = 0
<=> [-1, 0] = 0
流石にひどいって
<=> [0, 1]*([0, 1] - 1) = 0
<=> [0, 1]*[-1, 0] = 0
<=> [-1, 0] = 0
流石にひどいって
341蟻人間 ◆T6xkBnTXz7B0
2020/08/16(日) 21:48:28.85ID:GwA/W8AI 加法
(1) 交換法則
(2) 結合法則
(3) 単位元の存在
(4) 逆元の存在
乗法
(5) 交換法則
(6) 結合法則
(7) 分配法則
(1) 交換法則
(2) 結合法則
(3) 単位元の存在
(4) 逆元の存在
乗法
(5) 交換法則
(6) 結合法則
(7) 分配法則
342蟻人間 ◆T6xkBnTXz7B0
2020/08/16(日) 22:04:28.19ID:GwA/W8AI 逆元がないから、減法が壊れてる。
区間に逆元があるように減法を定義することはできない。
すみません、取り下げます。
区間に逆元があるように減法を定義することはできない。
すみません、取り下げます。
343デフォルトの名無しさん
2020/08/16(日) 22:08:12.76ID:WQRWSQYc344デフォルトの名無しさん
2020/08/16(日) 22:16:18.77ID:UYHP6Cr3 問題を解くスキル<<<<<解ける問題を作るスキル
だったりするかも
だったりするかも
345デフォルトの名無しさん
2020/08/16(日) 22:26:48.34ID:Nztll5gc346蟻人間 ◆T6xkBnTXz7B0
2020/08/16(日) 22:46:06.78ID:GwA/W8AI やり直し。
お題: 区間と演算子によって構成される計算式が入力として与えられる。下記に従って浮動小数点数の区間に対する二項演算(+、-、*、/)を実現し、計算後の区間を出力しなさい。入力される区間は閉区間のみとする。
閉区間は角カッコで囲まれた浮動小数点数の対で表すものとする。ここで対の最初の要素は対の最後の要素以下とする。すなわち[a, b]という式があればa<=bでなければならない。
式が正当でないか、ゼロ除算があれば、実行時エラーを発生させること。
演算の定義:
[a, b] + [c, d] := [a+c, b+d].
[a, b] - [c, d] := [a-d, b-c].
[a, b] * [c, d] := [min(a*c, b*c, a*d, b*d), max(a*c, b*c, a*d, b*d)].
[a, b] / [c, d] := [min(a/c, b/c, a/d, b/d), max(a/c, b/c, a/d, b/d)].
例)
[1, 3] + [2, 2] → [3, 5].
[2, 8] - [1, 2] → [0, 7].
[-3, 2] * [1, 3] → [-9, 6].
お題: 区間と演算子によって構成される計算式が入力として与えられる。下記に従って浮動小数点数の区間に対する二項演算(+、-、*、/)を実現し、計算後の区間を出力しなさい。入力される区間は閉区間のみとする。
閉区間は角カッコで囲まれた浮動小数点数の対で表すものとする。ここで対の最初の要素は対の最後の要素以下とする。すなわち[a, b]という式があればa<=bでなければならない。
式が正当でないか、ゼロ除算があれば、実行時エラーを発生させること。
演算の定義:
[a, b] + [c, d] := [a+c, b+d].
[a, b] - [c, d] := [a-d, b-c].
[a, b] * [c, d] := [min(a*c, b*c, a*d, b*d), max(a*c, b*c, a*d, b*d)].
[a, b] / [c, d] := [min(a/c, b/c, a/d, b/d), max(a/c, b/c, a/d, b/d)].
例)
[1, 3] + [2, 2] → [3, 5].
[2, 8] - [1, 2] → [0, 7].
[-3, 2] * [1, 3] → [-9, 6].
347デフォルトの名無しさん
2020/08/16(日) 22:58:27.46ID:bYLilpPQ つーか
boost::numeric::interval
とかいう実装があってな
あながちおかしな話ではない
かと言って
そんな車輪の再生産みたいなお題を受けたい気はしないのだが
boost::numeric::interval
とかいう実装があってな
あながちおかしな話ではない
かと言って
そんな車輪の再生産みたいなお題を受けたい気はしないのだが
349253
2020/08/16(日) 23:50:47.82ID:G5r8RAij >>308 Perl5
use Data::Dump 'dump';
sub fn {
my ($le, $pv, @ri) = @_;
defined $pv ? map {[$pv, @$_]} fn([], @$le, @ri) : ([])
,
@ri ? fn([@$le, $pv], @ri) : ()
}
$N = 3;
@a = 1..$N;
print dump(fn [], @a);
実行結果
$ perl 18_308_N_permutation.pl
([1, 2, 3], [1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 1, 2], [3, 2, 1])
use Data::Dump 'dump';
sub fn {
my ($le, $pv, @ri) = @_;
defined $pv ? map {[$pv, @$_]} fn([], @$le, @ri) : ([])
,
@ri ? fn([@$le, $pv], @ri) : ()
}
$N = 3;
@a = 1..$N;
print dump(fn [], @a);
実行結果
$ perl 18_308_N_permutation.pl
([1, 2, 3], [1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 1, 2], [3, 2, 1])
350デフォルトの名無しさん
2020/08/17(月) 01:49:55.07ID:Nup7rIuH 前の書き方だとやる気が出ないみたいなので再掲
お題 任意文字列を含む有効なビットコインアドレスを生成するにはどうすればいいか
ビットコインアドレスの形式は
[プレフィックス 1バイト] [本体データ 160ビット] [チェックサム 4バイト]
をbase58(58進数)で表現したもの
プレフィックスは0x00とする
チェックサムはプレフィックス+本体データをsha256に二回かけた後の先頭4バイト
詳細
https://www.tottemoyasashiibitcoin.net/entry/2018/02/04/165300
例:
1BitCoinDescriptionAddressadTvGDH
1MayukoMuraokaXXXXXXXXXXXXXXX5f8QC
これはどっちも有効なビットコインアドレスになってる
https://chainflyer.bitflyer.com/Address/1BitCoinDescriptionAddressadTvGDH
https://chainflyer.bitflyer.jp/Address/1MayukoMuraokaXXXXXXXXXXXXXXX5f8QC
お題 任意文字列を含む有効なビットコインアドレスを生成するにはどうすればいいか
ビットコインアドレスの形式は
[プレフィックス 1バイト] [本体データ 160ビット] [チェックサム 4バイト]
をbase58(58進数)で表現したもの
プレフィックスは0x00とする
チェックサムはプレフィックス+本体データをsha256に二回かけた後の先頭4バイト
詳細
https://www.tottemoyasashiibitcoin.net/entry/2018/02/04/165300
例:
1BitCoinDescriptionAddressadTvGDH
1MayukoMuraokaXXXXXXXXXXXXXXX5f8QC
これはどっちも有効なビットコインアドレスになってる
https://chainflyer.bitflyer.com/Address/1BitCoinDescriptionAddressadTvGDH
https://chainflyer.bitflyer.jp/Address/1MayukoMuraokaXXXXXXXXXXXXXXX5f8QC
351デフォルトの名無しさん
2020/08/17(月) 06:10:10.64ID:sRZ0bbBO >>346
消えろカス
消えろカス
352デフォルトの名無しさん
2020/08/17(月) 08:34:59.13ID:4e6PsksO >>351
お前うざいよ
お前うざいよ
353デフォルトの名無しさん
2020/08/17(月) 09:10:13.06ID:CGaaR/Ic どうすればいいか?ってのがよくわからない
354デフォルトの名無しさん
2020/08/17(月) 09:11:51.56ID:CGaaR/Ic 入力と出力をはっきりさせてほしい
それとも取引所の仕様を理解しろって話なの?
それとも取引所の仕様を理解しろって話なの?
355デフォルトの名無しさん
2020/08/17(月) 11:17:26.81ID:2KNIyB/f ブルートフォースアタックしか思い浮かばない。
356デフォルトの名無しさん
2020/08/17(月) 18:12:59.56ID:Nup7rIuH 入力が任意文字列で出力がそれを含む有効なビットコインアドレス
例にあるやつだとMayukoMuraokaが任意文字列の部分
XXX…っていうのはただの本体データ160bitのあまりスペースを埋めてるだけだからなんでもいい
それに対応して最後のチェックサムも任意性がある
直感だとブルートフォースが必要そうだけど実際は単純なやり方でできる
例にあるやつだとMayukoMuraokaが任意文字列の部分
XXX…っていうのはただの本体データ160bitのあまりスペースを埋めてるだけだからなんでもいい
それに対応して最後のチェックサムも任意性がある
直感だとブルートフォースが必要そうだけど実際は単純なやり方でできる
357デフォルトの名無しさん
2020/08/17(月) 19:37:06.53ID:4e6PsksO 秘密鍵でデコードできなくてもいんでしょ?
じゃあbase58で表されたバイト値と文字列を変換するだけじゃん
じゃあbase58で表されたバイト値と文字列を変換するだけじゃん
358デフォルトの名無しさん
2020/08/17(月) 19:45:01.16ID:Nup7rIuH0 基本的にはそれだけのこと
実際の手順を考えるとちょっとややこしいことがあるくらい
ということで実装してみよう
実際の手順を考えるとちょっとややこしいことがあるくらい
ということで実装してみよう
359デフォルトの名無しさん
2020/08/17(月) 22:43:06.44ID:sRZ0bbBO >>352
お前がうぜえよ死ね
お前がうぜえよ死ね
360デフォルトの名無しさん
2020/08/17(月) 22:47:24.50ID:4e6PsksO >>359
お前が死ね
お前が死ね
361デフォルトの名無しさん
2020/08/17(月) 22:50:53.21ID:3fwftKf8 よし俺がしぬよ
362デフォルトの名無しさん
2020/08/17(月) 22:53:16.60ID:UMcd904E 夏だなあ
363デフォルトの名無しさん
2020/08/17(月) 22:56:52.65ID:4e6PsksO >>361
じゃあ俺が死ぬよ
じゃあ俺が死ぬよ
364デフォルトの名無しさん
2020/08/17(月) 22:57:17.04ID:3fwftKf8 お題: 『死』を表現せよ
365デフォルトの名無しさん
2020/08/17(月) 22:57:32.35ID:3fwftKf8 >>363
どうぞうどうぞ
どうぞうどうぞ
366デフォルトの名無しさん
2020/08/17(月) 22:58:07.77ID:sRZ0bbBO >>363
じゃあ死ねよ
じゃあ死ねよ
367デフォルトの名無しさん
2020/08/17(月) 23:05:20.89ID:4e6PsksO368デフォルトの名無しさん
2020/08/17(月) 23:05:35.92ID:4e6PsksO じゃあ俺が死ぬよ
369デフォルトの名無しさん
2020/08/17(月) 23:05:59.92ID:4e6PsksO くるよくるよ
370デフォルトの名無しさん
2020/08/17(月) 23:06:13.27ID:4e6PsksO ドキドキ
371デフォルトの名無しさん
2020/08/17(月) 23:39:35.54ID:4e6PsksO 逃げたか
372デフォルトの名無しさん
2020/08/17(月) 23:39:58.23ID:4e6PsksO 笑いから逃げるな
373デフォルトの名無しさん
2020/08/18(火) 00:15:03.77ID:/+dAg+CW お題: 二人の煽り耐性から「死ね」と言い合うプログラム
煽り耐性 0.1〜1
死ねと言い返す確率 (1-煽り耐性) * 100%
最初に死ねと言うのはA
入力 {Aの煽り耐性} {Bの煽り耐性}
例
> 0.1 0.8
A「死ね」
B「死ね」
A「死ね」
煽り耐性 0.1〜1
死ねと言い返す確率 (1-煽り耐性) * 100%
最初に死ねと言うのはA
入力 {Aの煽り耐性} {Bの煽り耐性}
例
> 0.1 0.8
A「死ね」
B「死ね」
A「死ね」
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】日本産牛肉の対中国輸出再開協議が中止 [おっさん友の会★]
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★2 [BFU★]
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★3 [BFU★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★4 [ぐれ★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 [ぐれ★]
- 【速報】日本産牛肉の対中国輸出再開協議が中止 ★2 [おっさん友の会★]
- 【格差社会】小泉進次郎じゃなくて高市早苗が自民党新総裁になると見切ってFXやってた奴、FIREライン [517791167]
- 高市コイン、ガチで156円突入へwwwwwwwwww [246620176]
- 【実況】博衣こよりのえちえち雑談🧪★2
- 中国政府、日本人のビザ免除停止、鬼滅の刃公開停止を検討へ [271912485]
- 高市早苗って戦後最悪の総理大臣なのでは🤔? [929293504]
- 【実況】博衣こよりのえちえち雑談🧪
