[過去ログ] プログラミングのお題スレ Part18 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
208: 蟻人間 ◆T6xkBnTXz7B0 2020/08/06(木)20:01 ID:mzjhTFla(4/8) AAS
>>207
正解。次のお題お願いします。
209(1): 2020/08/06(木)20:18 ID:nx4HEXSE(3/3) AAS
【お題】正解にたどり着くようにアシストした得点を算出するプログラムを作れ
スケールは1点以上100点未満とする
210: 蟻人間 ◆T6xkBnTXz7B0 2020/08/06(木)20:28 ID:mzjhTFla(5/8) AAS
>>209
それは人間しかできないんで内科医?
211: 2020/08/06(木)20:37 ID:sjF+gr/I(1) AAS
クソコテ死ねよマジで
212(1): 2020/08/06(木)20:53 ID:O/aURmUk(1) AAS
>>203
その手の目的には Raspberry Pi がおすすめです
最近流行っているから多くのノウハウが容易に見つかりますよ
213: 蟻人間 ◆T6xkBnTXz7B0 2020/08/06(木)21:07 ID:mzjhTFla(6/8) AAS
>>212
ありがとうございます。使えそうなハードでかなりお買い得ですね。
三菱やパナソニックは、、、破壊的イノベーションができない連中か。。。
214: 蟻人間 ◆T6xkBnTXz7B0 2020/08/06(木)21:16 ID:mzjhTFla(7/8) AAS
IchigoJamというのもあるみたい。
215(1): 2020/08/06(木)21:29 ID:8sSWlLgK(1/2) AAS
スレチ
◆QZaw55cn4c はうせろ
216(1): ◆QZaw55cn4c 2020/08/06(木)22:26 ID:L4WiFaHt(1) AAS
>>215
突然、どうしたのですか?
217: 2020/08/06(木)22:38 ID:8sSWlLgK(2/2) AAS
>>216
呼んでねえよハゲ消えろ
218: 蟻人間 ◆T6xkBnTXz7B0 2020/08/06(木)23:02 ID:mzjhTFla(8/8) AAS
お題: 点結びパズルという簡単なパズルがある。紙の上にたくさんの点があり、それぞれの点の近くに番号が書かれていて、
番号の順に点を結べば、図案が浮かび上がるというものだ。
以下の手順に従ってモノクロPNG画像(300dpi前後)として与えられた点結びパズルを自動的に解くプログラムを作れ。画像処理。
(1) OCR技術や深層学習などにより、画像上の一文字が2mm以上6mm以下のアラビア数字(複数)を読み取り、数字の位置と数字の対を返す関数を作れ。数字の30度以上の回転は考える必要はない。
(2) 点結びパズルの点は直径0.5mm以上3mm以下の黒い丸い点だと仮定して、点と数字を関連付けるアルゴリズムを考案せよ。
ただし、数字に近い点が複数ある場合は「スマートに」割り振ること。
(3) 画像に実際に線分を描画して点結びパズルを回答するプログラムを作れ。
点と数字以外の枠線やタイトルなどは印刷されていないと仮定してもよい。
219: 2020/08/07(金)00:08 ID:TzYKRTqH(1) AAS
よく、ラズパイコンテストでやってる
水槽の中の金魚に、エサをやる装置とか
220: 2020/08/07(金)11:29 ID:uQ4nbdFf(1/4) AAS
債務が多い
221(15): 2020/08/07(金)12:51 ID:lb7vo/Jy(1) AAS
お題
文字列を大文字小文字を区別せずにソートして()でグルーピングしてください
入力: D a B c d c C A E c e B b
出力: (a A) (B B b) (c c C c) (D d) (E e)
222: 2020/08/07(金)13:43 ID:uQ4nbdFf(2/4) AAS
>>221 js
const inputStr = "D a B c d c C A E c e B b"
const expectedStr = "(a A) (B B b) (c c C c) (D d) (E e)"
const charVal = c => c.toUpperCase().charCodeAt()
function groupCharSort(str) {
const chars = str.split(" ")
const groups = {}
chars.forEach(c => {
const cv = charVal(c)
if (!groups[cv]) groups[cv] = []
省8
223: 2020/08/07(金)13:48 ID:uQ4nbdFf(3/4) AAS
const inputStr = "D a B c d c C A E c e B b"
const expectedStr = "(a A) (B B b) (c c C c) (D d) (E e)"
const charVal = c => c.toUpperCase().charCodeAt()
function groupCharSort(str) {
const chars = str.split(" ")
const groups = []
chars.forEach(c => {
const cv = charVal(c)
if (!groups[cv]) groups[cv] = []
groups[cv].push(c)
省8
224: 2020/08/07(金)14:51 ID:5vmbSLbR(1/2) AAS
>>221 Ruby
# その 1
def igrouping( str )
gList = {}
str.split.each{|ch|
k = ch.downcase
gList[ k ] ||= []
gList[ k ] << ch
}
gList.keys.sort.map{|k| '(' + gList[ k ].join(' ') + ')' }.join(' ')
省4
225: 2020/08/07(金)14:52 ID:5vmbSLbR(2/2) AAS
>>221 Ruby
# その 2
def igrouping( str )
i = 0
'(' + str.split.sort_by{|x| [ x.downcase, i += 1 ] }.join(' ').gsub( /(\w) (?!\1)/i ){"#{$1}) (#{$2}"} + ')'
end
instr = 'D a B c d c C A E c e B b'
puts "入力: #{instr}"
puts "出力: #{igrouping( instr )}"
226: 2020/08/07(金)16:23 ID:uQ4nbdFf(4/4) AAS
<<=って演算子ほしいな
227: 2020/08/07(金)19:28 ID:P4+Ga4Bm(1) AAS
>>221 Ruby
$><<gets.split.group_by{|c| c.ord % 32}.sort.map{|a| "(#{a.last.join ' '})"}.join(' ')
# => (a A) (B B b) (c c C c) (D d) (E e)
228: 2020/08/08(土)00:04 ID:b55CcwAR(1/4) AAS
JavaScript では、Lodash を使うけど、
やっぱり、Ruby の方が、メソッドチェーンできるから良い
Lodash ではたまに「インスタンス.メソッド」の形にならない関数がある。
関数(オブジェクト)の形式
そこで、メソッドチェーンが途切れて、配列が実体化されてしまうから、
サイズと大きいと、ヤバイ
229: 2020/08/08(土)07:24 ID:u/td9dv4(1/2) AAS
lodash破壊的変更の関数あるの地味に謎だよな
一応 lodash/fpもあるけど
230: 2020/08/08(土)07:26 ID:u/td9dv4(2/2) AAS
いや _.chainの話か
一瞬非推奨の流れ来たときから使ってないわ
メソッドチェーン嫌いではないけど
231(2): 2020/08/08(土)09:18 ID:b55CcwAR(2/4) AAS
>>221
Elixir
input_str = "D a B c d c C A E c e B b"
list = input_str
|> String.split # 文字列を空白で分割して、配列化する
|> Enum.group_by( &String.downcase/1 ) # 小文字へ変換して、グループ化する
|> Map.values # 値を取り出す
|> Enum.map( fn list -> Enum.join( list, " " ) end ) # 各要素を空白でつなげて、1つの文字列にする
|> Enum.map( fn str -> "(" <> str <> ")" end ) # 文字列を、( ) で囲む
# IO.inspect list
省2
232(4): 2020/08/08(土)14:04 ID:JvTsLjL+(1/3) AAS
>>221
Python3
外部リンク:ideone.com
全然短くならなかったんだけど皆どういう脳みそしてるの
233(1): 2020/08/08(土)14:58 ID:gFRxrH0y(1) AAS
>>221
perl
$input = "D a B c d c C A E c e B b";
map{push @{$h{uc $_}}, $_}(split / /, $input);
print map{map{"(".(join" ", @$_).")"}$h{$_}} sort{uc $a cmp uc $b} keys %h;
>>232
オブ脳ならぬラムダ脳なんだろうなぁ
同値でグループ化、代表元でソート、出力、これを関数でやってる
それかワンライナーへの偏執的な愛
234: 2020/08/08(土)15:53 ID:xsg1wzC9(1) AAS
>>221 Ruby
gets.split.group_by(&:upcase).sort.map{|_,v|$><<"(#{v*' '}) "}
235(1): 2020/08/08(土)16:11 ID:yUCBpeXj(1) AAS
>>232
一般論としてデータの処理と最後の文字列の組み立てを一緒にやらない方がいい
今どきPC上ならメモリーは潤沢にあるので
・グルーピングの処理してから
・各グループを文字列化
・さらにその文字列を順次出力
とした方がわかりやすいと思う
外部リンク:ideone.com
236: 2020/08/08(土)17:07 ID:HH2BebFt(1) AAS
>>232
Pythonだとどうしても短くはならないな。
外部リンク:ideone.com
groupbyのところは、defaultdictで書く方法もあるけど大差なし。
237: 2020/08/08(土)21:09 ID:JvTsLjL+(2/3) AAS
>>233
Rubyの人もワンライナーだな
Rubyってショートコーディングに向いてるのかな?
>>235,232
なるほど
238(1): 2020/08/08(土)21:20 ID:bf+w2Xl6(1) AAS
code golfなら基本はperlで、次点がRubyじゃないですかね
239: 2020/08/08(土)21:56 ID:JvTsLjL+(3/3) AAS
>>238
そういうものなのね
240: 231 2020/08/08(土)22:49 ID:b55CcwAR(3/4) AAS
関数型・メソッドチェーンなら、Ruby・Elixir。
長く、チェーンできるから
Elixir では関数の第一引数を、前のチェーンからの戻り値として渡せる
str = "a b c"
# 文字列を空白で分割して、配列化する
IO.inspect String.split( str )
str
|> String.split
|> IO.inspect
省2
241: 231 2020/08/08(土)22:54 ID:b55CcwAR(4/4) AAS
基本的に、Ruby・Elixir みたいに、
メソッドチェーンで、英語のように、左から右へ読めないとダメ
Python の内包表記みたいなのは、可読性が悪い
242: 2020/08/08(土)23:09 ID:n6UBlQy6(1) AAS
ざっくりとした見た目しか気にしないのでパイプライン演算子と区別がつかないrubyガイジなのであったw
243: 2020/08/08(土)23:14 ID:ifN2bgU4(1/2) AAS
>>184
Java
外部リンク:paiza.io
244: 2020/08/08(土)23:32 ID:ifN2bgU4(2/2) AAS
>>221
Java
外部リンク:paiza.io
245: 2020/08/09(日)00:17 ID:/K790vfJ(1/3) AAS
javaでもStream使うと意外と少なくかけるんだな
utilが充実してるな
246: 2020/08/09(日)00:41 ID:uywZ9h5A(1) AAS
>>184
Python3
外部リンク:ideone.com
247: 2020/08/09(日)02:47 ID:Mt0Kh35r(1) AAS
>>221
c#
using System;
using System.Linq;
class Program
{
static void Main(string[] args)
{
var input = "D a B c d c C A E c e B b";
foreach (var itm in input.Split(" ").GroupBy(p => p.ToUpper()).OrderBy(p => p.Key))
省5
248: 2020/08/09(日)04:58 ID:bQgrv4ZF(1) AAS
>>221
Kotlin
外部リンク:paiza.io
249(14): 2020/08/09(日)16:07 ID:HZ7sqguG(1) AAS
お題
文字列abcdeを右に2つ回転するとdeabcとなる
文字列abcdeを左に2つ回転するとcdeabとなる
2つの文字列を入力として受け取り
2つの文字列が一致するか、または、文字列を回転させて一致した場合はtrueを返してください
さもなくばfalseを返してください
入力: abcde deabc
出力: true
入力: abcde cdeba
出力: false
250: 2020/08/09(日)16:42 ID:/K790vfJ(2/3) AAS
>>249 js
const isRotateStr = (a, b) => (a + a).indexOf(b) != -1
console.log(isRotateStr("abcde", "deabc"))
// true
console.log(isRotateStr("abcde", "cdeba"))
// false
251: 2020/08/09(日)16:56 ID:DzMx1xPb(1/2) AAS
問題として狙ってたかしらんけど、いきなり簡単な解法来ちゃったな。
252: 2020/08/09(日)16:59 ID:Uo9rXbdx(1) AAS
aaとaaaを比較したらtrueになっちゃうね
文字サイズを最初にチェックすればいいかな?
253(74): 253 2020/08/09(日)19:01 ID:UiQUiAYf(1) AAS
>>221 Perl5
push(@{$h{uc$_}}, $_) for qw{D a B c d c C A E c e B b};
print map{"(@{$h{$_}}) "} sort keys %h;
実行結果
~ $ perl 18_221_NCS_sort_grp.pl
(a A) (B B b) (c c C c) (D d) (E e)
254: 253 2020/08/09(日)19:17 ID:A1LNtpwx(1) AAS
>>249 Perl5
use feature qw{signatures say};
sub strot_cmp($a, $b) {
say "入力 $a $b";
say "出力 ", "$a$a" =~ /$b/ ? 'true' : 'false';
}
strot_cmp qw{abcde deabc};
strot_cmp qw{abcde cdeba};
実行結果
~ $ perl 18_249_strot_cmp.pl
省5
255: 2020/08/09(日)20:09 ID:sb6ynJ/q(1) AAS
Jニキも披露してくれよ
256: 2020/08/09(日)22:00 ID:BOQzPYI8(1) AAS
>>221 octave
外部リンク:ideone.com
>>249 octave
外部リンク:ideone.com
257(1): 253 2020/08/09(日)22:27 ID:iNMqPGBy(1) AAS
>>253 それだと「文字列を回転させて一致」のみならず「含まれている」場合もtrueになってしまうので修正
>>249 Perl5
use feature qw{signatures say};
sub strot_cmp($a, $b) {
say "入力 $a $b";
@a = "$a$a" =~ /^(.*)($b)(.*)$/;
say "出力 ", (@a and "$a[2]$a[0]" eq $b) ? 'true' : 'false';
}
strot_cmp qw{abcde deabc};
strot_cmp qw{abcde cdeba};
省10
258: 2020/08/09(日)22:40 ID:/K790vfJ(3/3) AAS
octave文法好みだけど結構古い言語なんだな
259(1): 253 2020/08/09(日)23:21 ID:dFp53gtH(1) AAS
>>221 Python3
s = "D a B c d c C A E c e B b".split();
d = {}
for c in s:
u = c.upper()
if u in d: d[u] += ' ' + c
else: d[u] = c
ks = sorted(d.keys())
print(' '.join(map(lambda x: '(%s)' % d[x], ks)))
実行結果
省2
260(2): 2020/08/09(日)23:56 ID:DzMx1xPb(2/2) AAS
Perlだとこの程度でも正規表現使わないといかんのか?
261: 253 2020/08/10(月)00:02 ID:5Aj+dIHX(1/2) AAS
>>259 を少し簡略化
>>221 Python3
s = "D a B c d c C A E c e B b".split();
d = {}
for c in s:
u = c.upper()
d[u] = d[u]+' '+c if u in d else c
print(' '.join(map(lambda x: '(%s)' % d[x], sorted(d.keys()) )))
262: 253 2020/08/10(月)00:03 ID:5Aj+dIHX(2/2) AAS
>>260
substrとかでも書ける
263(1): 253 2020/08/10(月)01:07 ID:mTkq56mc(1/2) AAS
>>260
>>257は一致する場合に対応するようあせって書いた面があり
正規表現を使うのはやりすぎ感があったのは確かなので
顕に正規表現を使わずに書きを考えてみた。
もっとも簡素な書き方として思いついたのがsplitで三分割して
前後の余った文字列を連結したらそれも一致するかなので
>>249 Perl5
use feature qw{signatures say};
sub strot_cmp($a, $b) {
say "入力 $a $b";
省7
264(1): 253 2020/08/10(月)01:18 ID:mTkq56mc(2/2) AAS
>>263 ゴメン、$a[2]$a[0]はbug、訂正
>>249 Perl5
use feature qw{signatures say};
sub strot_cmp($a, $b) {
say "入力 $a $b";
@a = split $b, "$a$a", 3;
say "出力 ", ("$a[1]$a[0]") eq $b ? 'true' : 'false';
}
strot_cmp qw{abcde deabc};
strot_cmp qw{abcde cdeba};
省1
265: 253 2020/08/10(月)01:58 ID:5YDTUTIu(1) AAS
>>264 ゴメン
× @a = split $b, "$a$a", 3;
○ @a = split $b, "$a$a", 2;
266: ◆QZaw55cn4c 2020/08/10(月)02:53 ID:JYoLJZbs(1) AAS
>>249 C
2chスレ:tech
267(5): 2020/08/10(月)05:44 ID:SKFyjjt9(1/3) AAS
お題:
Brainfuck実行環境を作成し,以下のhello.bfを読み込み実行してください
入力: 外部リンク[bf]:github.com
出力: "Hello World!"
268: 2020/08/10(月)08:49 ID:SwBLGnEH(1/2) AAS
>>267 Ruby
require 'open-uri'
str = open('外部リンク[read]:raw.githubusercontent.com
M = 256
i = p = s = 0
h = Hash.new(0)
m = [0] * M
while i < str.length
case str[i]
when ?+ then m[p] += 1
省11
269: 2020/08/10(月)08:49 ID:OSJh6/O/(1) AAS
>>267 Ruby
外部リンク:ideone.com
270: 2020/08/10(月)17:10 ID:Z7zFlWuQ(1/2) AAS
>>249
Kotlin
簡単なやり方は出尽くしたのであえてグルグル回すだけのIteratorを作成した。
外部リンク:paiza.io
271: 2020/08/10(月)17:10 ID:SKFyjjt9(2/3) AAS
>>267 C++
外部リンク:ideone.com
272(2): 2020/08/10(月)18:01 ID:Z7zFlWuQ(2/2) AAS
>>267
Kotlin
とりあえず簡単そうだったので Kotlin へのコンバータを作った(コンバータなのでKotlinのソースを出力するだけ)。
実行したい場合はその出力を Kotlin コンパイラに読ませてコンパイルしてから Java VM で動かす必要がある。
外部リンク:paiza.io
こちらの Linux 環境でコマンドラインの kotlinc を使ってやった時はこうやった。(BF2Kotlin.kt がコンバータ。hello.bf はダウンロードしたプログラム)
$ kotlinc BF2Kotlin.kt
$ kotlin BF2KotlinKt < hello.bf > hello.kt
$ kotlinc hello.kt
$ kotlin HelloKt
省1
273(1): 2020/08/10(月)18:43 ID:TsKVv45J(1) AAS
>>249
Python3
外部リンク:ideone.com
274: 2020/08/10(月)21:10 ID:EfqLUS40(1) AAS
>>249 Python3
def f(a, b): return len(a) == len(b) and a in b + b
275: 2020/08/10(月)22:32 ID:tDeKMBiv(1) AAS
>>249 c
外部リンク:ideone.com
276: 2020/08/10(月)23:41 ID:SKFyjjt9(3/3) AAS
>>249 C++
外部リンク:ideone.com
277(2): 2020/08/10(月)23:46 ID:lJp+wmfa(1) AAS
bfってループの入れ子できたっけ?
278: 2020/08/10(月)23:47 ID:SwBLGnEH(2/2) AAS
>>277
できる
279(1): 272 2020/08/11(火)01:47 ID:RwCZynCZ(1/2) AAS
>>267
Kotlin
これはインタープリタ版。
外部リンク:paiza.io
280: 2020/08/11(火)01:50 ID:RwCZynCZ(2/2) AAS
>>277
知らんけど >>279 は出来るように作った。
>>272 のやつはコンバータだが Kotlin が出来るので出来る。(というか出来ないように作る方が面倒かな?)
281: 2020/08/11(火)07:40 ID:RSsrE9PW(1) AAS
>>249
>>273をリファクタリング
外部リンク:ideone.com
282: 2020/08/11(火)14:40 ID:psN1NwFJ(1) AAS
こんなに暑いと座禅プログラムで涼みたい。
283: 2020/08/12(水)10:55 ID:WiVroiaz(1/3) AAS
警策を上から振り下ろす動作の機械を作り、そこにマイコンを接続。更に行ったり
来たりするルンバのようなものの上にそれを乗せ、そこにもマイコンを接続。
そのマイコンのコントロールプログラムを作成。
284: 2020/08/12(水)11:07 ID:WiVroiaz(2/3) AAS
既にこんなの作ってる人が居た。
座禅で動いたら棒で叩かれるやつを全自動化する
外部リンク:dailyportalz.jp
285: 2020/08/12(水)16:50 ID:xjprAYba(1) AAS
令和のコペルニクス
動画リンク[YouTube]
286(6): 2020/08/12(水)19:58 ID:j5y8ZKQl(1) AAS
お題
Brainfuckのの'+','-','.'の 3つの命令のみで
特定の文字列を表示するBrainfucの
ソースコードを生成するプログラム。
287(1): 2020/08/12(水)20:07 ID:kGuev0jH(1) AAS
>>286 Ruby
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 ID:WiVroiaz(3/3) AAS
差分出すっていうと ADPCM の圧縮を思い出すな。
289: 2020/08/13(木)01:08 ID:TUx4JMNp(1) AAS
>>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
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
+.
省16
290(1): 2020/08/13(木)01:49 ID:CZu90IWX(1/3) AAS
>>286 Ruby
"Hello World!\n".codepoints.inject(''){|r,c| r << '+' * c + '.[-]' }
291(1): 2020/08/13(木)03:32 ID:CZu90IWX(2/3) AAS
>>286 Ruby
"Hello World!\n".codepoints.map{|c| '+' * c + '.' }.join( '[-]' )
292: 2020/08/13(木)05:51 ID:CZu90IWX(3/3) AAS
>>286
>>290,291 は出題条件の「'+','-','.'の 3つの命令のみ」を忘れてましたご免なさい
293: 2020/08/13(木)06:48 ID:9ZM4Lmsz(1) AAS
>>286 Ruby
gets.each_char{|c|d=$.-$.=c.ord;$><<(d<0? ?+*-d:?-*d)+?.}
294: 2020/08/13(木)12:37 ID:8zEuDtsy(1) AAS
なるほどbrainfuckでは[-]で現在指してるメモリの値を0クリアできるのか
295(8): 2020/08/14(金)01:20 ID:CuxcYYZ5(1) AAS
お題:変数a, b, cを32ビット符号付き整数の最大値で初期化、または代入せよ。
octave
外部リンク:ideone.com
ada95
外部リンク:ideone.com
296: 2020/08/14(金)03:17 ID:cCFmHkiX(1/2) AAS
>>295 Ruby
# 初期化だけ
a = b = c = 2**31 - 1
# 初期化して表示
p *(a,b,c = [2**31-1] * 3) #=> 2147483647\n2147483647\n2147483647\n
297: 2020/08/14(金)07:01 ID:cCFmHkiX(2/2) AAS
>>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
298: 2020/08/14(金)08:01 ID:sgFs/qSh(1) AAS
>>295 JavaScript
a=b=c=-1>>>1
299: 2020/08/14(金)08:17 ID:jifd8sPx(1/5) AAS
>>295 C++
int32_t max = 1 << 31;
int32_t min = ~max;
300: 2020/08/14(金)08:18 ID:jifd8sPx(2/5) AAS
あ maxとminが逆だった
301: 2020/08/14(金)08:20 ID:jifd8sPx(3/5) AAS
しかもお題と関係ない スマソ
302: 2020/08/14(金)08:21 ID:hpI++Bi7(1) AAS
>>295 Python では整数に制限がないからnumpyで、
import numpy as np
a=b=c=np.iinfo(np.int32).max
303: 2020/08/14(金)08:38 ID:jifd8sPx(4/5) AAS
>>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;
}
304: 2020/08/14(金)09:05 ID:jifd8sPx(5/5) AAS
const auto [a, b, c] = std::tie(max, max, max);
これだけでよかったorz
305: 2020/08/14(金)14:02 ID:9qHjnK+i(1) AAS
お題:任意文字列を含むビットコインアドレスを生成するスクリプト
BitCoinDescriptionAddress
↓
1BitCoinDescriptionAddressadTvGDH
306: 2020/08/15(土)16:58 ID:gFfdk9Ij(1/2) AAS
>>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 個目の変数への
省6
307: 295 2020/08/15(土)17:28 ID:nnj+MvqH(1/3) AAS
>>295 octave
外部リンク:ideone.com
単に[a, b, c] = deal(intmax)でよかった
上下前次1-新書関写板覧索設栞歴
あと 695 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.264s*