プログラミングのお題スレです。
【出題と回答例】
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/
宿題は宿題スレがあるのでそちらへ。
※前スレ
プログラミングのお題スレ Part19
https://mevius.5ch.net/test/read.cgi/tech/1606662245/
プログラミングのお題スレ Part20
■ このスレッドは過去ログ倉庫に格納されています
2021/06/19(土) 00:02:57.84ID:MQWrKSb7
2021/06/19(土) 00:37:51.46ID:qGn/On1S
>>1
オツ
オツ
>>1
お疲れ様です
お疲れ様です
2021/06/19(土) 09:51:25.47ID:bhsM+Hmb
2021/06/19(土) 11:32:47.24ID:HedGQGNJ
部分解答可
1. クリップボードの内容を取得
2. 現在の日時を次のように出力する 2021/06/19/第3土曜日/10:19/
前スレ参照
#!/bin/sh
for num in "896" "967" "968" "972" "975" "977-982" "994" "996"
do
firefox $( echo '/5422666061/hcet/igc.daer/tset/ten.hc5.suivem//:sptth' | rev )$num
sleep 30
done
3. 現在の日時、キーワード、クリップボードの内容を1行にして指定のファイルに追記。キーワードはプログラム実行時にキーボード入力する。
4. 今日が第3土曜日なら指定の画像ファイルを表示
1. クリップボードの内容を取得
2. 現在の日時を次のように出力する 2021/06/19/第3土曜日/10:19/
前スレ参照
#!/bin/sh
for num in "896" "967" "968" "972" "975" "977-982" "994" "996"
do
firefox $( echo '/5422666061/hcet/igc.daer/tset/ten.hc5.suivem//:sptth' | rev )$num
sleep 30
done
3. 現在の日時、キーワード、クリップボードの内容を1行にして指定のファイルに追記。キーワードはプログラム実行時にキーボード入力する。
4. 今日が第3土曜日なら指定の画像ファイルを表示
2021/06/19(土) 11:34:07.84ID:HedGQGNJ
解答例
#!/bin/sh
# 1
clipb=$(xclip -o)
# 2
day=$(date "+%e")
num=$(( ($day + 6) / 7 ))
today=$( date "+%Y/%m/%d/"第$num"$(date +%a)"曜日"/%H:%M/" )
# 3 キーボード入力した文字列を変数ahaに入れる
read -p "キーワードを入力してください:" aha
# trコマンドを使ってクリップボードにコピペした文章から改行文字\nを削除
copipe=$( echo "$today *$aha $clipb" | tr --delete '\n' )
# >>は追記、>は上書きしてしまうので注意
echo "$copipe" >> "$HOME/Documents/memo.txt"
# backディレクトリの中にmemoディレクトリを作成
# --parentsは指定の親ディレクトリbakが存在しない場合に作成してくれるオプション引数、mkdir -pでもOK
mkdir --parents "$HOME/Documents/bak/memo/"
cp --backup "$HOME/Documents/memo.txt" "$HOME/Documents/bak/memo/"
xdg-open "$HOME/Documents/memo.txt"
# 4 xdg-openは既定のアプリを起動するコマンド
if [ $( echo $today | grep "第3土曜日" ) ] ; then
xdg-open "$HOME/Pictures/image.jpg"
sleep 10 ; exit
fi
#!/bin/sh
# 1
clipb=$(xclip -o)
# 2
day=$(date "+%e")
num=$(( ($day + 6) / 7 ))
today=$( date "+%Y/%m/%d/"第$num"$(date +%a)"曜日"/%H:%M/" )
# 3 キーボード入力した文字列を変数ahaに入れる
read -p "キーワードを入力してください:" aha
# trコマンドを使ってクリップボードにコピペした文章から改行文字\nを削除
copipe=$( echo "$today *$aha $clipb" | tr --delete '\n' )
# >>は追記、>は上書きしてしまうので注意
echo "$copipe" >> "$HOME/Documents/memo.txt"
# backディレクトリの中にmemoディレクトリを作成
# --parentsは指定の親ディレクトリbakが存在しない場合に作成してくれるオプション引数、mkdir -pでもOK
mkdir --parents "$HOME/Documents/bak/memo/"
cp --backup "$HOME/Documents/memo.txt" "$HOME/Documents/bak/memo/"
xdg-open "$HOME/Documents/memo.txt"
# 4 xdg-openは既定のアプリを起動するコマンド
if [ $( echo $today | grep "第3土曜日" ) ] ; then
xdg-open "$HOME/Pictures/image.jpg"
sleep 10 ; exit
fi
2021/06/19(土) 11:53:11.09ID:wmUlN/CJ
まだやってるのか
2021/06/21(月) 21:15:15.50ID:h4Y3M1Y8
0 と "n + 1" を任意に定義して自然数を作り、
足し算と掛け算を実装せよ
なお "n + 1" は次を満たすこと
・ n + 1 == m + 1 ⇒ n == m
・ n が自然数 ⇒ n + 1 は自然数
・ n が自然数 ⇒ n + 1 != 0
足し算と掛け算を実装せよ
なお "n + 1" は次を満たすこと
・ n + 1 == m + 1 ⇒ n == m
・ n が自然数 ⇒ n + 1 は自然数
・ n が自然数 ⇒ n + 1 != 0
9デフォルトの名無しさん
2021/06/22(火) 13:23:44.46ID:VRgeVVL3 お題
リストを受け取って、重複のないリストに分割してください
入力:[b,d,e,c,b,a,a,d,d,a]
出力:[a,b,c,d,e],[a,b,d],[a,d]
リストを受け取って、重複のないリストに分割してください
入力:[b,d,e,c,b,a,a,d,d,a]
出力:[a,b,c,d,e],[a,b,d],[a,d]
10デフォルトの名無しさん
2021/06/22(火) 14:29:49.78ID:q0OZcNy5 「すいませーん パンください」
「なんだとー!パンクはダサくねえ!」
「なんだとー!パンクはダサくねえ!」
11デフォルトの名無しさん
2021/06/22(火) 18:35:38.31ID:3KNNvFBI >>9
Ruby
s = "b,d,e,c,b,a,a,d,d,a".split(",")
t = s.group_by{_1}.values.map{(_1 + [nil] * s.size).take(s.size)}.transpose.map{_1.compact}.reject{_1 == []}
p t
[["b", "d", "e", "c", "a"], ["b", "d", "a"], ["d", "a"]]
Ruby
s = "b,d,e,c,b,a,a,d,d,a".split(",")
t = s.group_by{_1}.values.map{(_1 + [nil] * s.size).take(s.size)}.transpose.map{_1.compact}.reject{_1 == []}
p t
[["b", "d", "e", "c", "a"], ["b", "d", "a"], ["d", "a"]]
2021/06/22(火) 18:38:56.74ID:3KNNvFBI
FBIだ
2021/06/22(火) 19:37:22.20ID:KgqIpy+v
>>9 Ruby
s = '[b,d,e,c,b,a,a,d,d,a]'
a = s.gsub(/[\[\]]/,'').split(',').sort
ans = []
while (u = a.uniq).empty?.!
ans << u
u.each{|x| a.delete_at( a.index(x) ) }
end
puts "[" + ans.map{|x| x * ','} * '],[' + "]" #=> [a,b,c,d,e],[a,b,d],[a,d]
s = '[b,d,e,c,b,a,a,d,d,a]'
a = s.gsub(/[\[\]]/,'').split(',').sort
ans = []
while (u = a.uniq).empty?.!
ans << u
u.each{|x| a.delete_at( a.index(x) ) }
end
puts "[" + ans.map{|x| x * ','} * '],[' + "]" #=> [a,b,c,d,e],[a,b,d],[a,d]
2021/06/23(水) 00:49:21.38ID:1nP79viV
>>9
haskell
iimport Data.List
splitSet = transpose . group . sort
main = print $ splitSet $ "bdecbaadda"
----
["abcde","abd","ad"]
haskell
iimport Data.List
splitSet = transpose . group . sort
main = print $ splitSet $ "bdecbaadda"
----
["abcde","abd","ad"]
2021/06/23(水) 01:16:40.91ID:P132dmNh
>>9
python
li = ["b","d","e","c","b","a","a","d","d","a"]
t = 0
while len(li) != 0:
__s = list(set(li))
__print(s)
__for x in s: li.remove(x)
前から順番に重複がないように分割した
li = ["b","d","e","c","b","a","a","d","d","a"]
t = 0
for i in range(len(li)):
__if t>i: continue
__ for j, x in enumerate(li[i:]):
____if j==0: continue
____if x in li[i:i+j]:
______print(x,li[i:i+j])
______t = i+j
______break
else: print(li[t:])
python
li = ["b","d","e","c","b","a","a","d","d","a"]
t = 0
while len(li) != 0:
__s = list(set(li))
__print(s)
__for x in s: li.remove(x)
前から順番に重複がないように分割した
li = ["b","d","e","c","b","a","a","d","d","a"]
t = 0
for i in range(len(li)):
__if t>i: continue
__ for j, x in enumerate(li[i:]):
____if j==0: continue
____if x in li[i:i+j]:
______print(x,li[i:i+j])
______t = i+j
______break
else: print(li[t:])
2021/06/23(水) 03:03:47.96ID:yaBz/mVt
何分割するか指定がないんだからこれで十分だよね
s = "b,d,e,c,b,a,a,d,d,a".split(",")
puts s.map{|e| "[#{e}]" }.join(",")
出力: [b],[d],[e],[c],[b],[a],[a],[d],[d],[a]
s = "b,d,e,c,b,a,a,d,d,a".split(",")
puts s.map{|e| "[#{e}]" }.join(",")
出力: [b],[d],[e],[c],[b],[a],[a],[d],[d],[a]
17デフォルトの名無しさん
2021/06/23(水) 19:57:35.36ID:PDI/0UM/18デフォルトの名無しさん
2021/06/23(水) 19:59:10.71ID:VBbwJDrL 指定は無いがそうすると自明になりつまんなくなる、
つまり問題としてwell-definedじゃなくなるから、Ruby使ってる人は空気と行間を読む訓練をした方がいい
つまり問題としてwell-definedじゃなくなるから、Ruby使ってる人は空気と行間を読む訓練をした方がいい
2021/06/23(水) 20:41:17.73ID:N3JUxele
皮肉を理解できないのは統合失調症の症状だそうで
2021/06/23(水) 23:35:40.56ID:gV4gb+yX
お題
正整数2つを入力として、それらの商を互いに異なる正整数の逆数の和で表せ
ただし、分母となる正整数の最大のものが極力小さくなるようにせよ
例
入力 37, 60
出力 37/60 = 1/4 + 1/5 + 1/6
入力 3,1
出力 3/1 = 1/1 + 1/2 + 1/3 + 1/4 + 1/5 + 1/6 + 1/8 + 1/9 + 1/10 + 1/15 + 1/18 + 1/20 + 1/24
正整数2つを入力として、それらの商を互いに異なる正整数の逆数の和で表せ
ただし、分母となる正整数の最大のものが極力小さくなるようにせよ
例
入力 37, 60
出力 37/60 = 1/4 + 1/5 + 1/6
入力 3,1
出力 3/1 = 1/1 + 1/2 + 1/3 + 1/4 + 1/5 + 1/6 + 1/8 + 1/9 + 1/10 + 1/15 + 1/18 + 1/20 + 1/24
21デフォルトの名無しさん
2021/06/24(木) 12:40:28.82ID:QkkrxV02 お題
月最後の金曜日をプレミアムフライデーといいますが
指定した年のプレミアムフライデー一覧を出力してください
入力: 2021
出力:
2021-01-29
2021-02-26
2021-03-26
2021-04-30
2021-05-28
2021-06-25
2021-07-30
2021-08-27
2021-09-24
2021-10-29
2021-11-26
2021-12-31
月最後の金曜日をプレミアムフライデーといいますが
指定した年のプレミアムフライデー一覧を出力してください
入力: 2021
出力:
2021-01-29
2021-02-26
2021-03-26
2021-04-30
2021-05-28
2021-06-25
2021-07-30
2021-08-27
2021-09-24
2021-10-29
2021-11-26
2021-12-31
22デフォルトの名無しさん
2021/06/24(木) 13:22:13.95ID:mpRYRE1b >>20
極小ってのはかんたんに分かるモンなの?
極小ってのはかんたんに分かるモンなの?
2021/06/24(木) 13:33:05.04ID:x/nvCroK
「極力小さく」だから
プログラマの能力でできる限り、
じゃないの?
プログラマの能力でできる限り、
じゃないの?
24デフォルトの名無しさん
2021/06/24(木) 14:07:33.05ID:mpRYRE1b 要するにこれエジプト分数だろ
極小かどうかが面倒くさい話だった
エジプト式分数 - Wikipedia
https://ja.wikipedia.org/wiki/%E3%82%A8%E3%82%B8%E3%83%97%E3%83%88%E5%BC%8F%E5%88%86%E6%95%B0
極小かどうかが面倒くさい話だった
エジプト式分数 - Wikipedia
https://ja.wikipedia.org/wiki/%E3%82%A8%E3%82%B8%E3%83%97%E3%83%88%E5%BC%8F%E5%88%86%E6%95%B0
2021/06/24(木) 19:38:29.60ID:XMpTcDaC
>>21 Ruby
require 'date'
y = 2021
12.times{|m|
d = Date.new( y, m+1 ).next_month().prev_day()
puts d.prev_day( (d.wday-5) % 7 ).strftime( '%F' )
}
require 'date'
y = 2021
12.times{|m|
d = Date.new( y, m+1 ).next_month().prev_day()
puts d.prev_day( (d.wday-5) % 7 ).strftime( '%F' )
}
2021/06/24(木) 19:39:02.06ID:XMpTcDaC
>>21 Ruby
y = 2021
w = Time.new( y ).wday
tbl = ( (y & 3) == 0 && (y % 100) != 0 || (y % 400) == 0 )?
[ [25,23,25,24,25,24,25,25,24,25,24,25], [2,1,5,3,0,5,2,6,4,1,6,3] ] :
[ [25,22,25,24,25,24,25,25,24,25,24,25], [2,2,6,4,1,6,3,0,5,2,0,4] ]
12.times{|m|
puts "%04d-%02d-%02d" % [ y, m+1, tbl[0][m] + ((tbl[1][m]-w) % 7) ]
}
y = 2021
w = Time.new( y ).wday
tbl = ( (y & 3) == 0 && (y % 100) != 0 || (y % 400) == 0 )?
[ [25,23,25,24,25,24,25,25,24,25,24,25], [2,1,5,3,0,5,2,6,4,1,6,3] ] :
[ [25,22,25,24,25,24,25,25,24,25,24,25], [2,2,6,4,1,6,3,0,5,2,0,4] ]
12.times{|m|
puts "%04d-%02d-%02d" % [ y, m+1, tbl[0][m] + ((tbl[1][m]-w) % 7) ]
}
27デフォルトの名無しさん
2021/06/24(木) 22:03:03.66ID:HCLTIuII >>21
Kotlin
https://paiza.io/projects/mOAfjYjLJx67zhwlGiIuJw
次の月の1日の曜日を求めてそこから何日引くかを計算して引いているだけ。
java.time.LocalDate クラス使っているので Java でも似たようなプログラムは作れると思う。
Kotlin
https://paiza.io/projects/mOAfjYjLJx67zhwlGiIuJw
次の月の1日の曜日を求めてそこから何日引くかを計算して引いているだけ。
java.time.LocalDate クラス使っているので Java でも似たようなプログラムは作れると思う。
2021/06/25(金) 05:25:13.97ID:RM7Ajj8i
>>5-6
# (コマンド),"文字列",(コマンド2) | パイプラインで渡されたコマンド実行結果や文字列を連結して1行の文字列にするJoin-String |
# 連結して1行にした文字列で変数初期化(Tee-Object -Variable 変数) | memo.txtに追記(Tee-Object -Append)
(Get-Date).ToString("yyyy/MM/dd/第"),
[Math]::Floor( ( (Get-Date).Day + 6 ) / 7 ).ToString(),
(Get-Date).ToString("dddd/HH:mm/"),
" #tag#", ( Read-Host "キーワードを入力" ), " ",
( Get-Clipboard ) | Join-String | Tee-Object -Variable kopipe |
Tee-Object -FilePath "$HOME/Documents/memo.txt" -Append
# memo.txtをバックアップ
Copy-Item -Path "$HOME/Documents/memo.txt" -Destination "$HOME/Documents/bak/memo_bak.txt"
# $kopipe = 2021/06/25/第4金曜日/ ###タグ
# 今日が"第4金曜日"なら何かをする
if ( $( Write-Output $kopipe | Select-String -Pattern "第4金曜日" ) ) {
Write-Host "PowerShell"
} else {
Write-Host "Shell Script"
}
# Visual Studio Codeでファイルを開く
code "$HOME/Documents/memo.txt"
# (コマンド),"文字列",(コマンド2) | パイプラインで渡されたコマンド実行結果や文字列を連結して1行の文字列にするJoin-String |
# 連結して1行にした文字列で変数初期化(Tee-Object -Variable 変数) | memo.txtに追記(Tee-Object -Append)
(Get-Date).ToString("yyyy/MM/dd/第"),
[Math]::Floor( ( (Get-Date).Day + 6 ) / 7 ).ToString(),
(Get-Date).ToString("dddd/HH:mm/"),
" #tag#", ( Read-Host "キーワードを入力" ), " ",
( Get-Clipboard ) | Join-String | Tee-Object -Variable kopipe |
Tee-Object -FilePath "$HOME/Documents/memo.txt" -Append
# memo.txtをバックアップ
Copy-Item -Path "$HOME/Documents/memo.txt" -Destination "$HOME/Documents/bak/memo_bak.txt"
# $kopipe = 2021/06/25/第4金曜日/ ###タグ
# 今日が"第4金曜日"なら何かをする
if ( $( Write-Output $kopipe | Select-String -Pattern "第4金曜日" ) ) {
Write-Host "PowerShell"
} else {
Write-Host "Shell Script"
}
# Visual Studio Codeでファイルを開く
code "$HOME/Documents/memo.txt"
2021/06/25(金) 05:30:47.47ID:RM7Ajj8i
using InteractiveUtils, Dates
# 1 clipboardの文字列に含まれる改行文字を半角スペースに変換
clipb = replace( clipboard(), "\n" => " " )
# 2 曜日名や月名を日本語で取得するための設定
# docs.julialang.org/en/v1/stdlib/Dates/#Query-Functions
japanese_months = [""] ; japanese_monts_abbrev = [""]
japanese_days = ["月曜日","火曜日","水曜日","木曜日","金曜日","土曜日","日曜日"]
Dates.LOCALES["nihongo"] = Dates.DateLocale(japanese_months, japanese_monts_abbrev, japanese_days, [""])
# 実行結果例:2021/06/25/第
year_month_day = Dates.format( now(), "yyyy/mm/dd/第" )
# floor( 3.9 )の実行結果は3.0でfloor( Int, 3.9 )の実行結果は3
第num = floor( Int, ( Dates.day( now() ) + 6 ) / 7 )
# 実行結果例:金/04:21/ 、locale="上で設定した名前"は曜日名を英語以外の言語で取得するためのオプション
youbi_time = Dates.format( now(), "E/HH:MM/" ; locale="nihongo" )
# 3.grepで一覧表示するときに使うハッシュタグを入力。grep ###5ch, grep ###日記, grep ###英語, grep ###エラー, grep /第2金曜日/")
print("タグを入力:") ; hashtag = readline()
from_year_to_hashtag = year_month_day * string(第num) * youbi_time * " ###" * hashtag
# Juliaで文字列連結は+ではなく*
# docs.julialang.org/en/v1/manual/faq/#Why-does-Julia-use-*-for-string-concatenation?-Why-not-or-something-else?
copipe = from_year_to_hashtag * " " * clipb * "\n"
# docs.julialang.org/en/v1/base/file/#Base.Filesystem.homedir
# docs.julialang.org/en/v1/base/io-network/#Base.open
# "a"はwrite(書き込み), create(作成), append(追記)
io = open( homedir() * "/Documents/memo.txt", "a" )
write( io, copipe )
close(io)
# 1 clipboardの文字列に含まれる改行文字を半角スペースに変換
clipb = replace( clipboard(), "\n" => " " )
# 2 曜日名や月名を日本語で取得するための設定
# docs.julialang.org/en/v1/stdlib/Dates/#Query-Functions
japanese_months = [""] ; japanese_monts_abbrev = [""]
japanese_days = ["月曜日","火曜日","水曜日","木曜日","金曜日","土曜日","日曜日"]
Dates.LOCALES["nihongo"] = Dates.DateLocale(japanese_months, japanese_monts_abbrev, japanese_days, [""])
# 実行結果例:2021/06/25/第
year_month_day = Dates.format( now(), "yyyy/mm/dd/第" )
# floor( 3.9 )の実行結果は3.0でfloor( Int, 3.9 )の実行結果は3
第num = floor( Int, ( Dates.day( now() ) + 6 ) / 7 )
# 実行結果例:金/04:21/ 、locale="上で設定した名前"は曜日名を英語以外の言語で取得するためのオプション
youbi_time = Dates.format( now(), "E/HH:MM/" ; locale="nihongo" )
# 3.grepで一覧表示するときに使うハッシュタグを入力。grep ###5ch, grep ###日記, grep ###英語, grep ###エラー, grep /第2金曜日/")
print("タグを入力:") ; hashtag = readline()
from_year_to_hashtag = year_month_day * string(第num) * youbi_time * " ###" * hashtag
# Juliaで文字列連結は+ではなく*
# docs.julialang.org/en/v1/manual/faq/#Why-does-Julia-use-*-for-string-concatenation?-Why-not-or-something-else?
copipe = from_year_to_hashtag * " " * clipb * "\n"
# docs.julialang.org/en/v1/base/file/#Base.Filesystem.homedir
# docs.julialang.org/en/v1/base/io-network/#Base.open
# "a"はwrite(書き込み), create(作成), append(追記)
io = open( homedir() * "/Documents/memo.txt", "a" )
write( io, copipe )
close(io)
2021/06/25(金) 05:33:54.12ID:RM7Ajj8i
# 4. 今日が第4金曜日なら指定の画像ファイルを表示。ゴミの日とかを登録しておくと便利。
# docs.julialang.org/en/v1/manual/control-flow/
if contains( from_year_to_hashtag, "第4金曜日" )
imagefile = homedir() * "/Pictures/image.jpg"
# docs.julialang.org/en/v1/manual/running-external-programs/
# xdg-openの部分はmspaintとかでもOK
run(`xdg-open $imagefile`)
else
println("5ch on")
end
# docs.julialang.org/en/v1/stdlib/REPL/#The-Julia-REPL
# 関数の説明と使用例は次のようにすれば見れるよ。
# julia>using Dates
# julia>? <- Enterキーは押さなくて良い
# help?>dまで入力した後にTabキーを2回押す
# help?>からjulia>に戻すにはBackSpaceキーを押す
# その他の使い方
# julia>usingの後に半角スペースを入力した後にTabキーを2回押してモジュール一覧表示
# julia>aを入力後にTabキーを2回押す
# julia>absの後に半角スペースを入力した後にTabキーを2回押して関数を一覧表示
# docs.julialang.org/en/v1/manual/control-flow/
if contains( from_year_to_hashtag, "第4金曜日" )
imagefile = homedir() * "/Pictures/image.jpg"
# docs.julialang.org/en/v1/manual/running-external-programs/
# xdg-openの部分はmspaintとかでもOK
run(`xdg-open $imagefile`)
else
println("5ch on")
end
# docs.julialang.org/en/v1/stdlib/REPL/#The-Julia-REPL
# 関数の説明と使用例は次のようにすれば見れるよ。
# julia>using Dates
# julia>? <- Enterキーは押さなくて良い
# help?>dまで入力した後にTabキーを2回押す
# help?>からjulia>に戻すにはBackSpaceキーを押す
# その他の使い方
# julia>usingの後に半角スペースを入力した後にTabキーを2回押してモジュール一覧表示
# julia>aを入力後にTabキーを2回押す
# julia>absの後に半角スペースを入力した後にTabキーを2回押して関数を一覧表示
2021/06/25(金) 05:50:35.99ID:RM7Ajj8i
IJulia
github.com/JuliaLang/IJulia.jl
julia> ]
(@v1.6) pkg>add IJulia
BackSpaceキーを押す
replからjupyter Labを起動
julia> using IJulia ; jupyterlab(dir="/home/xxxx/Documents/jupyterlab")
Ctrl-D
ターミナルから起動
$ jupyter lab --notebook-dir="$HOME/Documents/jupyterlab" --browser="/usr/bin/google-chrome"
Visual Studio Code拡張機能Code Runner
ファイル>ユーザー設定>設定を開き、画面右上にある三角アイコン右横の「設定(JSON)を開く」をクリック
例
"code-runner.executorMap": {
// Julia実行ファイルのフルパス
"julia": "$HOME/julia-1.6.1/bin/julia",
},
//コード実行結果をターミナルに表示する
"code-runner.runInTerminal": true,
github.com/JuliaLang/IJulia.jl
julia> ]
(@v1.6) pkg>add IJulia
BackSpaceキーを押す
replからjupyter Labを起動
julia> using IJulia ; jupyterlab(dir="/home/xxxx/Documents/jupyterlab")
Ctrl-D
ターミナルから起動
$ jupyter lab --notebook-dir="$HOME/Documents/jupyterlab" --browser="/usr/bin/google-chrome"
Visual Studio Code拡張機能Code Runner
ファイル>ユーザー設定>設定を開き、画面右上にある三角アイコン右横の「設定(JSON)を開く」をクリック
例
"code-runner.executorMap": {
// Julia実行ファイルのフルパス
"julia": "$HOME/julia-1.6.1/bin/julia",
},
//コード実行結果をターミナルに表示する
"code-runner.runInTerminal": true,
3227
2021/06/25(金) 15:31:39.30ID:F/zdAmk32021/06/25(金) 21:10:31.51ID:kVdfg08P
ともかく最小とか入れてしまうと途端に難しくなる
できればいいんだよ
できればいいんだよ
2021/06/26(土) 00:46:33.35ID:6gOgcdGN
>>21
haskell
import Data.Time.Calendar
premiumFridays y = let
baseDay = ( fromGregorian 2021 6 13 )
lastFriday y m = let
d = gregorianMonthLength y m
difflst = flip diffDays baseDay
$ fromGregorian y m d
lastDay = fromGregorian y m d
in addDays ( - ( mod ( difflst + 2 ) 7 ) ) lastDay
in [ lastFriday y m | m<- [ 1.. 12 ] ]
main = mapM_ print $ premiumFridays 2021
---
2021-01-29
2021-02-26
2021-03-26
2021-04-30
2021-05-28
2021-06-25
2021-07-30
2021-08-27
2021-09-24
2021-10-29
2021-11-26
2021-12-31
haskell
import Data.Time.Calendar
premiumFridays y = let
baseDay = ( fromGregorian 2021 6 13 )
lastFriday y m = let
d = gregorianMonthLength y m
difflst = flip diffDays baseDay
$ fromGregorian y m d
lastDay = fromGregorian y m d
in addDays ( - ( mod ( difflst + 2 ) 7 ) ) lastDay
in [ lastFriday y m | m<- [ 1.. 12 ] ]
main = mapM_ print $ premiumFridays 2021
---
2021-01-29
2021-02-26
2021-03-26
2021-04-30
2021-05-28
2021-06-25
2021-07-30
2021-08-27
2021-09-24
2021-10-29
2021-11-26
2021-12-31
2021/06/26(土) 05:00:02.78ID:m56tn/Vu
Rubyの公式リファレンスは docs.ruby-lang.org
36デフォルトの名無しさん
2021/06/30(水) 18:30:07.65ID:fCthiOXz お題: 年、月、週の初めの曜日を表す値(0=日曜日, 1=月曜日)を入力するとその月のカレンダーを出力する。
例
入力: 2021 6 0
出力:
日 月 火 水 木 金 土
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
上の例はスペースの幅の都合で表示が崩れているかも知れないが、等幅(漢字は2倍)と考えて作って良い。
(なんだったら出力を画像にしても良い)
例
入力: 2021 6 0
出力:
日 月 火 水 木 金 土
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
上の例はスペースの幅の都合で表示が崩れているかも知れないが、等幅(漢字は2倍)と考えて作って良い。
(なんだったら出力を画像にしても良い)
37デフォルトの名無しさん
2021/06/30(水) 23:36:42.12ID:0jpC4Abq 今年は休日変則だな
38デフォルトの名無しさん
2021/07/01(木) 03:39:10.59ID:fmzZ+/Bo2021/07/01(木) 08:32:02.86ID:rhoqKmqn
>>36 Ruby
str = '2021 7 0'
y, m ,s = str.scan(/\d+/).map(&:to_i)
a = '日月火水木金土'.chars.rotate(s)
a << [" "] * ((Time.new( y, m, 1 ).wday - s) % 7)
1.upto(31){|d|
break if Time.new( y, m, d ).month != m
a << '%2d' % d
}
a.flatten.each_slice(7){|w| puts w.join(' ') }
str = '2021 7 0'
y, m ,s = str.scan(/\d+/).map(&:to_i)
a = '日月火水木金土'.chars.rotate(s)
a << [" "] * ((Time.new( y, m, 1 ).wday - s) % 7)
1.upto(31){|d|
break if Time.new( y, m, d ).month != m
a << '%2d' % d
}
a.flatten.each_slice(7){|w| puts w.join(' ') }
2021/07/01(木) 15:44:48.02ID:fmzZ+/Bo
41デフォルトの名無しさん
2021/07/01(木) 15:53:06.10ID:x5n7ySmh >>40
しゅごい
しゅごい
4239
2021/07/01(木) 19:49:58.87ID:rhoqKmqn >>36 Ruby
str = '2021 7 0'
y, m, s = str.scan( /\d+/ ).map( &:to_i )
( '日月火水木金土'.chars.rotate(s) + [' '] * (( Time.new( y, m, 1 ).wday - s ) % 7) + (1 .. [31, 30, 29, 28].find{|d| Time.new( y, m, d ).month == m }).to_a.map{|d| '%2d' % d } ).flatten.each_slice(7){|w| puts w * ' ' }
str = '2021 7 0'
y, m, s = str.scan( /\d+/ ).map( &:to_i )
( '日月火水木金土'.chars.rotate(s) + [' '] * (( Time.new( y, m, 1 ).wday - s ) % 7) + (1 .. [31, 30, 29, 28].find{|d| Time.new( y, m, d ).month == m }).to_a.map{|d| '%2d' % d } ).flatten.each_slice(7){|w| puts w * ' ' }
2021/07/01(木) 21:15:18.27ID:FSqo0WtF
>>43
お前の存在、いるのですか?
お前の存在、いるのですか?
>>44
なぜ要らないとおもったのですか?
なぜ要らないとおもったのですか?
2021/07/01(木) 22:06:31.90ID:FSqo0WtF
47デフォルトの名無しさん
2021/07/02(金) 10:06:20.83ID:6rZLVHEq >>44
要る。
要る。
49デフォルトの名無しさん
2021/07/02(金) 13:39:10.26ID:E59Amcuv 本気で知らないんだろう
月曜始まりのカレンダーを見たことないご存じないとかじゃね?
月曜始まりのカレンダーを見たことないご存じないとかじゃね?
50デフォルトの名無しさん
2021/07/02(金) 16:10:17.73ID:lOCqtdeG2021/07/02(金) 22:18:49.57ID:IHzKftMK
2021/07/02(金) 22:25:49.60ID:6PmzgaZp
>>48
お前が一番日本語理解できてなくて草
お前が一番日本語理解できてなくて草
2021/07/02(金) 22:59:04.30ID:bqpqPyM3
>>49
むしろ全てのカレンダーを月曜始まりにして欲しいぐらい
むしろ全てのカレンダーを月曜始まりにして欲しいぐらい
54デフォルトの名無しさん
2021/07/03(土) 02:44:37.57ID:+PW8v28+ 月月火水木金金
2021/07/03(土) 12:07:58.36ID:gq7PWL9B
オプションの話なんてどうでもいいけど
1日を左上始まりの方が合理的だと思う
1日を左上始まりの方が合理的だと思う
2021/07/03(土) 18:17:25.88ID:IfvioC2j
どうかな
多くの場合
月の開始日を固定するより
曜日を固定した方が有用だ
月によって
多くの場合
月の開始日を固定するより
曜日を固定した方が有用だ
月によって
2021/07/03(土) 18:34:34.91ID:8vTMQXC9
曜日固定の暦も提案されたけど採用されることはなかったんだよね
2021/07/03(土) 19:07:03.68ID:uSbSUvL9
まあ大抵の人は基本的に曜日で休みが決まってたりするしな
2021/07/03(土) 19:13:38.83ID:DPpwWmVc
28日×13月、最終月で調整、がシンプルで良かったのにな
年初の時期も夏至とか分かりやすい日にすれば良かったのに
年初の時期も夏至とか分かりやすい日にすれば良かったのに
2021/07/03(土) 21:26:36.17ID:IfvioC2j
暦は農業をするうえで細かく日を読む必要から作られ発展してきた
農閑期には日付が定められなかったことも
ヨーロッパの言語で前半は神の名が付けられ、後ろの方がテキトーなことからもその時代における重要度が推し量れる
農閑期には日付が定められなかったことも
ヨーロッパの言語で前半は神の名が付けられ、後ろの方がテキトーなことからもその時代における重要度が推し量れる
2021/07/03(土) 21:35:30.23ID:TQwtnc11
そもそも古代ローマの暦では11-12月は名前がなかった
62デフォルトの名無しさん
2021/07/04(日) 00:40:14.83ID:FJOBYcj7 エチオピアではエチオピア歴が今も使われており13月があったりする。
https://www.hope.or.jp/2019/09/13/ethiopian-calendar
https://www.hope.or.jp/2019/09/13/ethiopian-calendar
6339
2021/07/04(日) 08:11:39.86ID:iOGAyFs7 >>36 Ruby
お題の仕様を拡張してみた
前後の月の日付も週単位で表示
・前月日付は週はじめから最小1日から最大7日
・翌月日付は週末まで最小0日から最大6日
require 'date'
str = '2021 7 0'
y, m ,s = str.scan( /\d+/ ).map( &:to_i )
a = '日月火水木金土'.chars.rotate(s)
sw = (Time.new( y, m, 1 ) - s % 7).wday
( (sw == 0)? 7 : sw ).downto(1){|d| a << Date.new( y, m, 1 ).prev_day( d ).mday.to_s }
1.upto( Date.new( y, m, 1 ).next_month.prev_day.mday ){|d| a << '%2d' % d }
(-a.size % 7).times{|d| a << '%2d' % (d+1) }
a.each_slice(7){|w| puts w * ' ' }
お題の仕様を拡張してみた
前後の月の日付も週単位で表示
・前月日付は週はじめから最小1日から最大7日
・翌月日付は週末まで最小0日から最大6日
require 'date'
str = '2021 7 0'
y, m ,s = str.scan( /\d+/ ).map( &:to_i )
a = '日月火水木金土'.chars.rotate(s)
sw = (Time.new( y, m, 1 ) - s % 7).wday
( (sw == 0)? 7 : sw ).downto(1){|d| a << Date.new( y, m, 1 ).prev_day( d ).mday.to_s }
1.upto( Date.new( y, m, 1 ).next_month.prev_day.mday ){|d| a << '%2d' % d }
(-a.size % 7).times{|d| a << '%2d' % (d+1) }
a.each_slice(7){|w| puts w * ' ' }
6439
2021/07/05(月) 00:26:38.86ID:e4Vm80Jj >>36 Ruby
>>63
> sw = (Time.new( y, m, 1 ) - s % 7).wday
は間違いでした
require 'date'
str = '2021 7 0'
y, m, s = str.scan( /\d+/ ).map( &:to_i )
m1 = Date.new( y, m, 1 )
sw = m1.wday - s % 7
pmd = m1.prev_day.mday
a = '日月火水木金土'.chars.rotate(s)
( pmd - ((sw == 0)? 7 : sw) + 1 ).upto( pmd ){|d| a << d.to_s }
1.upto( m1.next_month.prev_day.mday ){|d| a << '%2d' % d }
(-a.size % 7).times{|d| a << '%2d' % (d+1) }
a.each_slice(7){|w| puts w * ' ' }
>>63
> sw = (Time.new( y, m, 1 ) - s % 7).wday
は間違いでした
require 'date'
str = '2021 7 0'
y, m, s = str.scan( /\d+/ ).map( &:to_i )
m1 = Date.new( y, m, 1 )
sw = m1.wday - s % 7
pmd = m1.prev_day.mday
a = '日月火水木金土'.chars.rotate(s)
( pmd - ((sw == 0)? 7 : sw) + 1 ).upto( pmd ){|d| a << d.to_s }
1.upto( m1.next_month.prev_day.mday ){|d| a << '%2d' % d }
(-a.size % 7).times{|d| a << '%2d' % (d+1) }
a.each_slice(7){|w| puts w * ' ' }
2021/07/05(月) 17:31:47.07ID:7Yd2cijs
>>28-31
28はPowerShell版
お題:クロームブラウザーのヘッドレスモードを使って何かを作る
google-chrome --headless --disable-gpu --hide-scrollbars --window-size=700,8000 --virtual-time-budget=10000 --screenshot="$HOME/Pictures/$(date +"%H_%M_%S").png" 'yahooリアルタイム検索結果のURL'
--window-size=はスクリーンショットを撮る範囲
--virtual-time-budget=は検索結果が表示されるまで時間がかかるサイトで使う。これがないと検索結果のスクリーンショットがうまく撮れない。10000ミリ秒=10秒。
28はPowerShell版
お題:クロームブラウザーのヘッドレスモードを使って何かを作る
google-chrome --headless --disable-gpu --hide-scrollbars --window-size=700,8000 --virtual-time-budget=10000 --screenshot="$HOME/Pictures/$(date +"%H_%M_%S").png" 'yahooリアルタイム検索結果のURL'
--window-size=はスクリーンショットを撮る範囲
--virtual-time-budget=は検索結果が表示されるまで時間がかかるサイトで使う。これがないと検索結果のスクリーンショットがうまく撮れない。10000ミリ秒=10秒。
2021/07/06(火) 12:39:02.75ID:gfjghTPI
数学板から
お題
Σ[n:2〜∞]cos(n)/log(n)を小数第10まで求めよ
元々収束するか?で収束するなら10桁計算せよってついてたけど今のところ10桁計算してみせた人おらず
もちろん収束遅すぎて少し工夫しないと10桁出すのは難しいかなと
お題
Σ[n:2〜∞]cos(n)/log(n)を小数第10まで求めよ
元々収束するか?で収束するなら10桁計算せよってついてたけど今のところ10桁計算してみせた人おらず
もちろん収束遅すぎて少し工夫しないと10桁出すのは難しいかなと
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 生活保護の受給額ってなんでこんなに安いの?
- お前らは“スカイマイルタワー”建設計画を知っているか?
- これ誰か分かるか?
- 支払い詰まってインターネット止まった
- 万引きJC「すいません許してください!何でもしますから!」←どうする?
