プログラミングのお題スレです。
【出題と回答例】
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/
宿題は宿題スレがあるのでそちらへ。
※前スレ
プログラミングのお題スレ Part18
https://mevius.5ch.net/test/read.cgi/tech/1594702426/
プログラミングのお題スレ Part19
レス数が1000を超えています。これ以上書き込みはできません。
2020/11/30(月) 00:04:05.21ID:TF2Czp0y
952デフォルトの名無しさん
2021/06/09(水) 23:26:34.51ID:jvfDlPRh953デフォルトの名無しさん
2021/06/09(水) 23:28:22.76ID:YKvIUGd6954デフォルトの名無しさん
2021/06/09(水) 23:29:18.81ID:2azqR1ms >>953
客観的に見てそれが乞食が物を乞う態度か?
客観的に見てそれが乞食が物を乞う態度か?
955デフォルトの名無しさん
2021/06/09(水) 23:30:53.94ID:YKvIUGd6956デフォルトの名無しさん
2021/06/09(水) 23:31:25.37ID:YKvIUGd6 集合論を極めるとこういうことができるわけです
957デフォルトの名無しさん
2021/06/09(水) 23:32:38.82ID:2azqR1ms 習合以前に簡単な論理すら通じないんだな
958デフォルトの名無しさん
2021/06/09(水) 23:34:28.54ID:YKvIUGd6959デフォルトの名無しさん
2021/06/09(水) 23:34:43.42ID:YKvIUGd6 ふぅ・・・
960デフォルトの名無しさん
2021/06/09(水) 23:36:16.61ID:YKvIUGd6 俺は駒場の本気が見たいんだよ
こ・ま・ば! こ・ま・ば! こ・ま・ば!
こ・ま・ば! こ・ま・ば! こ・ま・ば!
961デフォルトの名無しさん
2021/06/09(水) 23:52:19.59ID:YKvIUGd6 これでも良いです
ヒント
今日の日にちから1を引く 例:9 - 1 = 8
それを7で割る 例:8 / 7
少数点以下は切り捨て
1を足す
ヒント
今日の日にちから1を引く 例:9 - 1 = 8
それを7で割る 例:8 / 7
少数点以下は切り捨て
1を足す
962デフォルトの名無しさん
2021/06/09(水) 23:55:21.66ID:qriTcyP1963デフォルトの名無しさん
2021/06/09(水) 23:59:17.25ID:YKvIUGd6964デフォルトの名無しさん
2021/06/10(木) 00:01:30.90ID:SL5oYI2o 訂正してくださいませは訂正しろということだからな
相手に訂正させようとしてんのか? あ?
そんな馬鹿な日本語あってたまるかよ
相手に訂正させようとしてんのか? あ?
そんな馬鹿な日本語あってたまるかよ
965デフォルトの名無しさん
2021/06/10(木) 00:04:25.71ID:SL5oYI2o 丁寧な言葉を使おうとするあまりコンテキストにバグを混入させるバカ
プログラマ辞めた方が良い、絶望的に人間に向いてない
汚い庭に首輪で繋がれてワンワン言ってた方が良い
プログラマ辞めた方が良い、絶望的に人間に向いてない
汚い庭に首輪で繋がれてワンワン言ってた方が良い
966デフォルトの名無しさん
2021/06/10(木) 00:04:51.89ID:SL5oYI2o > 962+1 :デフォルトの名無しさん [↓] :2021/06/09(水) 23:55:21.66 ID:qriTcyP1
> >>961
> これでもいいですじゃなくてこちらに訂正してくださいませだろ
> 脳みそ腐ってんのかよ
バカを晒し上げ
> >>961
> これでもいいですじゃなくてこちらに訂正してくださいませだろ
> 脳みそ腐ってんのかよ
バカを晒し上げ
967デフォルトの名無しさん
2021/06/10(木) 00:11:31.87ID:n+BhN48t >>895-896
#!/bin/sh
# 日にち
d=$(date "+%e")
# 第n曜日のn
n=$(( ($d + 6) / 7 ))
# +%a : 曜日 (出力例:木)
dw="第$n"$(date +%a)"曜日"
echo $(date "+%Y/%m/%d/$dw/%H:%M/")
#!/bin/sh
# 日にち
d=$(date "+%e")
# 第n曜日のn
n=$(( ($d + 6) / 7 ))
# +%a : 曜日 (出力例:木)
dw="第$n"$(date +%a)"曜日"
echo $(date "+%Y/%m/%d/$dw/%H:%M/")
968デフォルトの名無しさん
2021/06/10(木) 00:25:20.64ID:n+BhN48t >>896
6を足す方法を知ってからだいぶプログラミングが楽になったよ。ありがとう。
#!/bin/sh
d=$(date "+%e")
d7=$(echo "scale=3; $d / 7" | bc)
if [ ${#d7} -lt 2 ]; then n=$d7;
else n=$(echo "scale=3; $d7 + 1.0 " | bc | cut -c 1); fi
dw="第$n"$(date +%a)"曜日"
echo $(date "+%Y/%m/%d/$dw/%H:%M/")
6を足す方法を知ってからだいぶプログラミングが楽になったよ。ありがとう。
#!/bin/sh
d=$(date "+%e")
d7=$(echo "scale=3; $d / 7" | bc)
if [ ${#d7} -lt 2 ]; then n=$d7;
else n=$(echo "scale=3; $d7 + 1.0 " | bc | cut -c 1); fi
dw="第$n"$(date +%a)"曜日"
echo $(date "+%Y/%m/%d/$dw/%H:%M/")
969デフォルトの名無しさん
2021/06/10(木) 00:33:02.83ID:SL5oYI2o 整数型での切り上げは
(a + (b - 1)) / b
でできるからねー
(a + (b - 1)) / b
でできるからねー
970デフォルトの名無しさん
2021/06/10(木) 00:59:09.52ID:NEUub5Vc 今世紀最大のバカ
ID:YKvIUGd6
ID:SL5oYI2o
ID:YKvIUGd6
ID:SL5oYI2o
971蟻人間 ◆T6xkBnTXz7B0
2021/06/10(木) 01:01:43.64ID:KaOpR0kd お題: 正方形内部の2次元空間(0, 0)〜(100, 100)にランダムに1000個の頂点を配置し、頂点群をk-means++により3個のクラスタに
クラスタリングし、頂点群の位置と3個のクラスタ中央をわかりやすく図示せよ。図示できないときはクラスタ中央の座標を表示せよ。
クラスタリングし、頂点群の位置と3個のクラスタ中央をわかりやすく図示せよ。図示できないときはクラスタ中央の座標を表示せよ。
972デフォルトの名無しさん
2021/06/10(木) 09:30:47.98ID:gzqz1I/r973972
2021/06/10(木) 09:44:47.39ID:gzqz1I/r TimeZoneをlocalに指定したのだけれど、これが'UTC'になっている。_時に9を足せば
良いだけのことではあるが。local、'UTC'以外の何を指定すればよいのか。
良いだけのことではあるが。local、'UTC'以外の何を指定すればよいのか。
974デフォルトの名無しさん
2021/06/10(木) 11:35:30.52ID:oO6awXFS 日本・東京とか、指定できないの?
975デフォルトの名無しさん
2021/06/10(木) 12:36:17.95ID:CSZCrfaL >>967-968
# Python版
from datetime import datetime
import locale
locale.setlocale( locale.LC_TIME, 'ja_JP.UTF-8' )
today = datetime.now().strftime( '%d' )
num = ( int( today ) + 6 ) // 7
print( datetime.now().strftime( '%Y/%m/%d/' + '第' + str(num) + '%A' + '/%H:%M/' ) )
# Python版
from datetime import datetime
import locale
locale.setlocale( locale.LC_TIME, 'ja_JP.UTF-8' )
today = datetime.now().strftime( '%d' )
num = ( int( today ) + 6 ) // 7
print( datetime.now().strftime( '%Y/%m/%d/' + '第' + str(num) + '%A' + '/%H:%M/' ) )
976デフォルトの名無しさん
2021/06/12(土) 19:29:13.34ID:JV+4q1jr977デフォルトの名無しさん
2021/06/12(土) 19:47:12.79ID:JV+4q1jr >>895
Kotlin script
Kotlin だから色々省略出来たりもしてはいるがやっぱ長くなるな。
java.time.LocalDateTime.now().run { println("%d/%02d/%02d/第%d%s曜日/%02d:%02d".format(year, monthValue, dayOfMonth, (dayOfMonth - 1) / 7 + 1, "月火水木金土日"[dayOfWeek.value - 1], hour, minute)) }
今これを実行するとこう出る。
2021/06/12/第2土曜日/19:47
Kotlin script
Kotlin だから色々省略出来たりもしてはいるがやっぱ長くなるな。
java.time.LocalDateTime.now().run { println("%d/%02d/%02d/第%d%s曜日/%02d:%02d".format(year, monthValue, dayOfMonth, (dayOfMonth - 1) / 7 + 1, "月火水木金土日"[dayOfWeek.value - 1], hour, minute)) }
今これを実行するとこう出る。
2021/06/12/第2土曜日/19:47
978デフォルトの名無しさん
2021/06/12(土) 19:53:47.74ID:JV+4q1jr そういや (dayOfMonth - 1) / 7 + 1 は (dayOfMonth + 6) / 7 と同じだったな。
と思ってから他の回答見るとみんなそう計算していた。とほほ。
と思ってから他の回答見るとみんなそう計算していた。とほほ。
979デフォルトの名無しさん
2021/06/12(土) 20:24:55.76ID:JV+4q1jr ごめん。Javaのライブラリだともっと簡単にできるんだった。
println(java.time.format.DateTimeFormatter.ofPattern("YYYY/MM/dd/第Weeee/HH:mm").format(java.time.LocalDateTime.now()))
これ、Kotlin かどうかは println() の部分だけで中身は Java でも同じ。
月の中の何週目なのかはFormatterで W を使うと自動でやってくれるので自分で計算しなくても良い。
今実行するとこう出る。
2021/06/12/第2土曜日/20:24
println(java.time.format.DateTimeFormatter.ofPattern("YYYY/MM/dd/第Weeee/HH:mm").format(java.time.LocalDateTime.now()))
これ、Kotlin かどうかは println() の部分だけで中身は Java でも同じ。
月の中の何週目なのかはFormatterで W を使うと自動でやってくれるので自分で計算しなくても良い。
今実行するとこう出る。
2021/06/12/第2土曜日/20:24
980デフォルトの名無しさん
2021/06/12(土) 20:28:08.93ID:JV+4q1jr Formatter.ofPattern() での Locale は本当は設定した方が良いかも知れない。>>979は日本語環境で実行したので曜日が日本語になっている。他の言語向け環境だと曜日の文字列は違って出ると思う。
981デフォルトの名無しさん
2021/06/12(土) 21:14:10.13ID:RadmeEVr982デフォルトの名無しさん
2021/06/12(土) 22:21:51.66ID:RadmeEVr983デフォルトの名無しさん
2021/06/12(土) 22:24:48.19ID:RadmeEVr お題
年月と第何曜日が入力されます
その日付を出力してください
入力: 2021-07,第3月曜日
出力: 2021-07-19
年月と第何曜日が入力されます
その日付を出力してください
入力: 2021-07,第3月曜日
出力: 2021-07-19
984デフォルトの名無しさん
2021/06/13(日) 00:00:30.76ID:EAgJhZrv >>983 Ruby
def s2d( str )
return '' unless /(\d+)-(\d+),第(\d+)(.)曜日/ =~ str
tm = Time.new( $1.to_i, $2.to_i, 1, 12 )
( tm + 86400 * ( $3.to_i * 7 - 7 + ("日月火水木金土".index($4) - tm.wday) % 7 ) ).strftime( '%F' )
end
puts s2d( '2021-07,第3月曜日' ) #=> 2021-07-19
閏秒やサマータイムを挟んでもおそらく問題ない
def s2d( str )
return '' unless /(\d+)-(\d+),第(\d+)(.)曜日/ =~ str
tm = Time.new( $1.to_i, $2.to_i, 1, 12 )
( tm + 86400 * ( $3.to_i * 7 - 7 + ("日月火水木金土".index($4) - tm.wday) % 7 ) ).strftime( '%F' )
end
puts s2d( '2021-07,第3月曜日' ) #=> 2021-07-19
閏秒やサマータイムを挟んでもおそらく問題ない
985デフォルトの名無しさん
2021/06/13(日) 00:26:28.82ID:FnAquiwp JS
const f = (x) => {
let [p,q] = x.split(","); let days = {日:0,月:1,火:2,水:3,木:4,金:5,土:6};
let nth = q.match(/\d/)[0]*1;
let day = (r=>{
for (let [k,v] of Object.entries(days)) { if (q.includes(`${k}曜日`)) {return v}}
})(q)
let i = 1;
while (i<32) {
if (new Date(`${p}/${i}`).getDay()!=day) {i++;}
else if (nth != 1) {i+=7; nth--;}
else {break}
}
return new Date(`${p}/${i}`).toLocaleDateString();
}
やっつけ
const f = (x) => {
let [p,q] = x.split(","); let days = {日:0,月:1,火:2,水:3,木:4,金:5,土:6};
let nth = q.match(/\d/)[0]*1;
let day = (r=>{
for (let [k,v] of Object.entries(days)) { if (q.includes(`${k}曜日`)) {return v}}
})(q)
let i = 1;
while (i<32) {
if (new Date(`${p}/${i}`).getDay()!=day) {i++;}
else if (nth != 1) {i+=7; nth--;}
else {break}
}
return new Date(`${p}/${i}`).toLocaleDateString();
}
やっつけ
986デフォルトの名無しさん
2021/06/13(日) 01:31:13.98ID:yIXAqgJY >>981
あ。そうか。YYYYはyyyyにするとしても、第xの方は計算しないと駄目か。
あ。そうか。YYYYはyyyyにするとしても、第xの方は計算しないと駄目か。
987デフォルトの名無しさん
2021/06/13(日) 01:36:37.49ID:zmNVs3Ym >>984
第10月曜日とかあるのか?
第10月曜日とかあるのか?
988デフォルトの名無しさん
2021/06/13(日) 01:41:41.76ID:oZLTh/kE989デフォルトの名無しさん
2021/06/14(月) 01:12:22.04ID:fkUpCs5d >>983
haskell
import Data.Time
import Data.Time.Calendar
import Data.List
data Day = Sun | Mon | Tue | Wed | Thu | Fri | Sat deriving ( Eq ,Show )
nthWeekDayOf y m n w = let
Just wn = elemIndex w [ Sun, Mon, Tue, Wed, Thu, Fri, Sat ]
baseDay = ( fromGregorian 2021 6 13 )
firstDay = fromGregorian y m 1
diffDaysOfFst = fromInteger $ diffDays firstDay baseDay
d = 1 + mod ( wn - diffDaysOfFst ) 7 + 7 * ( n - 1 )
in fromGregorian y m d
main = do
print $ nthWeekDayOf 2021 7 3 Mon
haskell
import Data.Time
import Data.Time.Calendar
import Data.List
data Day = Sun | Mon | Tue | Wed | Thu | Fri | Sat deriving ( Eq ,Show )
nthWeekDayOf y m n w = let
Just wn = elemIndex w [ Sun, Mon, Tue, Wed, Thu, Fri, Sat ]
baseDay = ( fromGregorian 2021 6 13 )
firstDay = fromGregorian y m 1
diffDaysOfFst = fromInteger $ diffDays firstDay baseDay
d = 1 + mod ( wn - diffDaysOfFst ) 7 + 7 * ( n - 1 )
in fromGregorian y m d
main = do
print $ nthWeekDayOf 2021 7 3 Mon
990デフォルトの名無しさん
2021/06/14(月) 23:17:42.44ID:m5mozyJ+991デフォルトの名無しさん
2021/06/15(火) 17:23:21.13ID:mBLvqrdS c#
OPEN FILE DIALOGで複数画像ファイル取得
配列に入れる
40秒後2枚目表示、また40秒後3枚目表示という感じで5枚表示したい。
表示はpicture BOXで。
OPEN FILE DIALOGで複数画像ファイル取得
配列に入れる
40秒後2枚目表示、また40秒後3枚目表示という感じで5枚表示したい。
表示はpicture BOXで。
992デフォルトの名無しさん
2021/06/15(火) 20:18:18.09ID:dr3N4crz9939
2021/06/17(木) 00:48:24.30ID:cL+lrU1C >>983 Perl5
use utf8;
$in = '2021-07,第3月曜日';
%h = map{$_ => ++$i} split '','月火水木金土日';
($y, $m, $wom, $dn) = $in =~ /(\d+)-(\d+),第(\d)(.)曜日/;
$dow = $h{$dn};
use DateTime;
$d = 7 * ($wom - 1) + $dow + DateTime->new(year => $y, month => $m)->day_of_week;
printf "$y-$m-%02d\n", $d;
実行結果
~ $ perl 19_983_day_of_month.pl
2021-07-19
use utf8;
$in = '2021-07,第3月曜日';
%h = map{$_ => ++$i} split '','月火水木金土日';
($y, $m, $wom, $dn) = $in =~ /(\d+)-(\d+),第(\d)(.)曜日/;
$dow = $h{$dn};
use DateTime;
$d = 7 * ($wom - 1) + $dow + DateTime->new(year => $y, month => $m)->day_of_week;
printf "$y-$m-%02d\n", $d;
実行結果
~ $ perl 19_983_day_of_month.pl
2021-07-19
994デフォルトの名無しさん
2021/06/17(木) 20:30:35.17ID:XyG5DJkY # >>895のPython版、>>898のPython版は>>975コレのほうが簡単
import datetime, locale, math
now = datetime.datetime.now()
locale.setlocale( locale.LC_TIME, 'ja_JP.UTF-8' )
# 今日の日にちを取得、型は文字列
day = now.strftime( '%d' )
div7 = ( int( day ) / 7 )
# 日にちを7で割って割り切れたらそれが第何曜日の何に入る数字
# 割り切れなかったら1を足して小数点以下を切り下げ
# import math ; math.floor( 3.9 ) #実行結果は3
# カレンダーを表示させて日にちを7で割ると分かりやすい
if type( div7 ) == int: num = div7
else: num = math.floor( div7 + 1 )
print( now.strftime( '%Y/%m/%d/' + '第' + str(num) + '%A' + '/%H:%M/' ) )
import datetime, locale, math
now = datetime.datetime.now()
locale.setlocale( locale.LC_TIME, 'ja_JP.UTF-8' )
# 今日の日にちを取得、型は文字列
day = now.strftime( '%d' )
div7 = ( int( day ) / 7 )
# 日にちを7で割って割り切れたらそれが第何曜日の何に入る数字
# 割り切れなかったら1を足して小数点以下を切り下げ
# import math ; math.floor( 3.9 ) #実行結果は3
# カレンダーを表示させて日にちを7で割ると分かりやすい
if type( div7 ) == int: num = div7
else: num = math.floor( div7 + 1 )
print( now.strftime( '%Y/%m/%d/' + '第' + str(num) + '%A' + '/%H:%M/' ) )
995デフォルトの名無しさん
2021/06/17(木) 20:41:18.66ID:MdpjMllh 汚いコードだな
996デフォルトの名無しさん
2021/06/17(木) 20:45:10.42ID:LjywRDNy >>994のコードをPython3の read-evaluate-print loop (REPL)ウィンドウにコピペして実行するときは
最終行手前のelse行の行末までをコピペした後にEnterキーを2回押して
repl画面に>>>を出してから最終行のprint文を実行する
最終行手前のelse行の行末までをコピペした後にEnterキーを2回押して
repl画面に>>>を出してから最終行のprint文を実行する
997デフォルトの名無しさん
2021/06/17(木) 21:08:54.55ID:PUHXqTqH 次スレはよ
998デフォルトの名無しさん
2021/06/18(金) 23:51:24.96ID:xh4slIdn999デフォルトの名無しさん
2021/06/19(土) 00:04:08.81ID:MQWrKSb71000デフォルトの名無しさん
2021/06/19(土) 00:04:50.94ID:MQWrKSb7 println(1000)
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 201日 0時間 0分 46秒
新しいスレッドを立ててください。
life time: 201日 0時間 0分 46秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
