プログラミングのお題スレです。
【出題と回答例】
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/
宿題は宿題スレがあるのでそちらへ。
前スレ
プログラミングのお題スレ Part10
https://mevius.5ch.net/test/read.cgi/tech/1514772904/
プログラミングのお題スレ Part11
https://mevius.5ch.net/test/read.cgi/tech/1524570314/
探検
プログラミングのお題スレ Part12
■ このスレッドは過去ログ倉庫に格納されています
2018/09/28(金) 10:09:07.13ID:phwOkayR
2018/10/04(木) 17:48:26.02ID:WD/5XFit
10月の学校に着いた時間と帰った時間を平日分全部出力する(土日のみ休みで平日は必ず学校がある)
A君は神経質なので秒まで着いた時間と帰った時間をメモする
時間は任意とする。
入力例
2018/10/01 09:25:00
2018/10/01 17:30:00
出力例
入力例と同じフォーマットの形式の日付時間が平日分全て出力された後に、
今度は別のフォーマットで平日分全て出力される
出力例
2018/10/01 09:25:00
2018/10/01 17:30:00
2018/10/02 09:26:00
2018/10/02 17:24:00
:
:
:
平日のみ全部出力
:
:
別フォーマット出力例
20181001 092500
20181001 173000
A君は神経質なので秒まで着いた時間と帰った時間をメモする
時間は任意とする。
入力例
2018/10/01 09:25:00
2018/10/01 17:30:00
出力例
入力例と同じフォーマットの形式の日付時間が平日分全て出力された後に、
今度は別のフォーマットで平日分全て出力される
出力例
2018/10/01 09:25:00
2018/10/01 17:30:00
2018/10/02 09:26:00
2018/10/02 17:24:00
:
:
:
平日のみ全部出力
:
:
別フォーマット出力例
20181001 092500
20181001 173000
2018/10/04(木) 18:15:15.90ID:rW/Q6M2G
やはり10/1と10/8は平日だった
2018/10/04(木) 18:17:14.17ID:THaWokSR
日本語でおk
2018/10/04(木) 18:18:57.90ID:GgsL2+/f
勤怠記録を整形したいです と正直に言えば話が早いのに
2018/10/04(木) 19:56:11.98ID:WD/5XFit
>>27
そうなんですけど、VBAで会社にソースはあるんですけど、他の言語でも見たいんです
そうなんですけど、VBAで会社にソースはあるんですけど、他の言語でも見たいんです
2018/10/04(木) 21:05:04.35ID:THaWokSR
平日って設定要る?
文字列 "YYYY/MM/DD HH:MM:SS" をいろんなフォーマットに変換するだけの問題じゃ駄目?
なんで一旦 echo するの?
責めてるんじゃなくて単純な疑問ね
文字列 "YYYY/MM/DD HH:MM:SS" をいろんなフォーマットに変換するだけの問題じゃ駄目?
なんで一旦 echo するの?
責めてるんじゃなくて単純な疑問ね
2018/10/04(木) 22:21:43.46ID:pTnAHI9j
>>24 C++
#include <cstdio>
#include <vector>
#include <tuple>
using namespace std;
int zeller(int y, int m, int d) {
if (m < 3) {
y--;
m += 12;
}
return (y + y / 4 - y / 100 + y / 400 + (13 * m + 8) / 5 + d ) % 7;
}
int main() {
vector<tuple<int, int, int, int, int, int>> v;
for (int y, m, d, h, i, s; scanf("%d/%d/%d %d:%d:%d", &y, &m, &d, &h, &i, &s) == 6; ) {
if (int w = zeller(y, m, d); 1 <= w && w <= 5) {
v.emplace_back(y, m, d, h, i, s);
}
}
for (auto [y, m, d, h, i, s] : v) {
printf("%d/%02d/%02d %02d:%02d:%02d\n", y, m, d, h, i, s);
}
for (auto [y, m, d, h, i, s] : v) {
printf("%d%02d%02d %02d%02d%02d\n", y, m, d, h, i, s);
}
}
#include <cstdio>
#include <vector>
#include <tuple>
using namespace std;
int zeller(int y, int m, int d) {
if (m < 3) {
y--;
m += 12;
}
return (y + y / 4 - y / 100 + y / 400 + (13 * m + 8) / 5 + d ) % 7;
}
int main() {
vector<tuple<int, int, int, int, int, int>> v;
for (int y, m, d, h, i, s; scanf("%d/%d/%d %d:%d:%d", &y, &m, &d, &h, &i, &s) == 6; ) {
if (int w = zeller(y, m, d); 1 <= w && w <= 5) {
v.emplace_back(y, m, d, h, i, s);
}
}
for (auto [y, m, d, h, i, s] : v) {
printf("%d/%02d/%02d %02d:%02d:%02d\n", y, m, d, h, i, s);
}
for (auto [y, m, d, h, i, s] : v) {
printf("%d%02d%02d %02d%02d%02d\n", y, m, d, h, i, s);
}
}
2018/10/04(木) 22:45:58.84ID:yblvOSiR
32デフォルトの名無しさん
2018/10/04(木) 22:49:59.54ID:9/syaOEb そう言えば寝てたら未来へ行っちゃうってのは、Islandにちょっと似てる。
33デフォルトの名無しさん
2018/10/04(木) 22:50:28.48ID:9/syaOEb ごめん。誤爆。
34デフォルトの名無しさん
2018/10/05(金) 00:59:15.29ID:x9IT1j0q2018/10/05(金) 07:17:46.24ID:wqnG0hHC
春分の日と秋分の日はその前の年に気象庁だかどっかから指定される休日だから任意の時刻に対して平日判定を行うのは不可能
2018/10/05(金) 08:06:04.84ID:f0hsTKrn
まず問題文をよく読めって学校で教わらなかったのか?
2018/10/05(金) 09:07:05.89ID:wqnG0hHC
ああ10月限定かすまんな
それでも無駄な情報が多くて何をさせたい問題なのかやっぱりわからんわ
それでも無駄な情報が多くて何をさせたい問題なのかやっぱりわからんわ
38デフォルトの名無しさん
2018/10/05(金) 09:48:23.51ID:ExR6m3Ew お題
1から連続する自然数の並びで
最初の a個の総和と
それに続くb個の総和が
等しくなるものを
好きなだけ求めるち
1から連続する自然数の並びで
最初の a個の総和と
それに続くb個の総和が
等しくなるものを
好きなだけ求めるち
2018/10/05(金) 10:50:56.93ID:wqnG0hHC
>>38
(0..10**8).each{|i|n=2*i*(i+1)+1;x=Integer.sqrt(n);puts'a=%d, b=%d'%[a=(x-1)/2,i-a]if x**2==n}
#=>a=0, b=0
a=2, b=1
a=14, b=6
a=84, b=35
a=492, b=204
a=2870, b=1189
a=16730, b=6930
a=97512, b=40391
a=568344, b=235416
a=3312554, b=1372105
a=19306982, b=7997214
(0..10**8).each{|i|n=2*i*(i+1)+1;x=Integer.sqrt(n);puts'a=%d, b=%d'%[a=(x-1)/2,i-a]if x**2==n}
#=>a=0, b=0
a=2, b=1
a=14, b=6
a=84, b=35
a=492, b=204
a=2870, b=1189
a=16730, b=6930
a=97512, b=40391
a=568344, b=235416
a=3312554, b=1372105
a=19306982, b=7997214
2018/10/05(金) 14:58:28.47ID:mgzjyvv8
>>34
koltin全く知らないけど、あとで読んでみます!
koltin全く知らないけど、あとで読んでみます!
2018/10/05(金) 20:22:47.58ID:3qR/q5rp
>>38
C++
https://ideone.com/PLj4M9
Wolfram先生によると一般項があるらしい
http://www.wolframalpha.com/input/?i=2a(a%2B1)%3D(a%2Bb)(a%2Bb%2B1)+and+a%3E%3D0+and+b%3E%3D0
C++
https://ideone.com/PLj4M9
Wolfram先生によると一般項があるらしい
http://www.wolframalpha.com/input/?i=2a(a%2B1)%3D(a%2Bb)(a%2Bb%2B1)+and+a%3E%3D0+and+b%3E%3D0
2018/10/06(土) 10:59:33.32ID:MgCaJaM3
半角スペース区切りで数字が入力されるのでソートして出力しなさい
いろんなアルゴリズムでやってみよう
-*- input -*-
3 1 4 1 5 9 2 6 53 58 97 93 2 38 46 26
-*- output -*-
1 1 2 2 3 4 5 6 9 26 38 46 53 58 93 97
例) Ruby
ボゴソート
ary = gets.split.map(&:to_i)
nil while ary.shuffle!.each_cons(2).any?{|a, b| a > b}
puts ary * ' '
バブルソート
ary = gets.split.map(&:to_i)
(ary.size - 1).times do
ary.each_cons(2).with_index{|(a, b), i| ary[i, 2] = b, a if a > b}
end
puts ary * ' '
いろんなアルゴリズムでやってみよう
-*- input -*-
3 1 4 1 5 9 2 6 53 58 97 93 2 38 46 26
-*- output -*-
1 1 2 2 3 4 5 6 9 26 38 46 53 58 93 97
例) Ruby
ボゴソート
ary = gets.split.map(&:to_i)
nil while ary.shuffle!.each_cons(2).any?{|a, b| a > b}
puts ary * ' '
バブルソート
ary = gets.split.map(&:to_i)
(ary.size - 1).times do
ary.each_cons(2).with_index{|(a, b), i| ary[i, 2] = b, a if a > b}
end
puts ary * ' '
43デフォルトの名無しさん
2018/10/06(土) 13:39:49.65ID:J8Y2BFN6 perl -ne '@d=split;print join(" ",sort {$a <=> $b} @d)."\n"'
無念無想のままたった今打った。1回も試していない。
無念無想のままたった今打った。1回も試していない。
2018/10/06(土) 21:20:29.96ID:evMRo/Iv
何かと思えば円周率か
要約気付いた
要約気付いた
2018/10/06(土) 22:11:52.69ID:xFDNl+om
2018/10/06(土) 22:49:39.54ID:MgCaJaM3
>>45
なんだこれw 4ch発祥かぁ。面白いね
なんだこれw 4ch発祥かぁ。面白いね
2018/10/07(日) 00:58:45.52ID:KvcjzmFM
2018/10/07(日) 07:50:57.08ID:VJ+UDRYt
アスペか?アスペにはこのスレはたぶん無理
↑これの読解もままならないだろうが(苦笑
↑これの読解もままならないだろうが(苦笑
2018/10/07(日) 13:41:58.37ID:9vVPTzNb
50デフォルトの名無しさん
2018/10/07(日) 18:04:09.18ID:t8TfnMHv お題
現在の時刻をスウォッチ・インターネットタイムで表示する
例
@042
現在の時刻をスウォッチ・インターネットタイムで表示する
例
@042
2018/10/07(日) 19:17:11.77ID:MD9q6Ezo
2018/10/07(日) 21:21:58.39ID:T4GR84FI
ビール標準時が基準点でないものはスウォッチ・インターネットタイムではない
2018/10/07(日) 21:30:25.37ID:MD9q6Ezo
>>52
d=24*60*60;$><<'@%f'%(((Time.now.to_f-60*60)%d)*1e3/d)
d=24*60*60;$><<'@%f'%(((Time.now.to_f-60*60)%d)*1e3/d)
54デフォルトの名無しさん
2018/10/08(月) 02:11:26.03ID:tKqgyITq perl -e '$s=86400;$n=1000*((time()+3600)%$s)/$s;printf "@%d\n",$n'
今実行するとこう出る。
@757
今実行するとこう出る。
@757
55デフォルトの名無しさん
2018/10/08(月) 16:16:40.26ID:SHTmPUE+ https://exoplanetarchive.ipac.caltech.edu/docs/transit_algorithms.html
まずこのサイトを読んで日時(UTC基準)からJDを求めるプログラムを作りなさい
逆に日時(UTC基準)から時刻を求めるプログラムを作りなさい
このサイトに書いてあるとおりに作るとプログラムの結果は正しくならない
プログラムの結果が正しくなるように修正し、
このサイトのどこに誤記があるかその箇所を指摘しなさい
まずこのサイトを読んで日時(UTC基準)からJDを求めるプログラムを作りなさい
逆に日時(UTC基準)から時刻を求めるプログラムを作りなさい
このサイトに書いてあるとおりに作るとプログラムの結果は正しくならない
プログラムの結果が正しくなるように修正し、
このサイトのどこに誤記があるかその箇所を指摘しなさい
56デフォルトの名無しさん
2018/10/08(月) 16:19:35.99ID:SHTmPUE+2018/10/08(月) 20:56:19.15ID:P7JfEPgv
2018/10/08(月) 22:00:20.72ID:c9HgNpeF
>>57
(365.25*dy).to_i とかは 1461*dy/4 にしないとまずい
(365.25*dy).to_i とかは 1461*dy/4 にしないとまずい
2018/10/08(月) 22:51:07.00ID:P7JfEPgv
>>58
365.25 は 101101101.01(2) だから誤差の心配は無いよね?
(1..3000).each{|n| p n if (365.25*n).to_i != 1461*n/4 }
とかやってみて
365.25 は 101101101.01(2) だから誤差の心配は無いよね?
(1..3000).each{|n| p n if (365.25*n).to_i != 1461*n/4 }
とかやってみて
2018/10/08(月) 23:14:43.42ID:c9HgNpeF
>>59
それは良いとしても ( (c-122.1)/365.25 ).to_i の類の表現が他の個所にも複数あり
この内のどれかが
p (5.151/1.717).to_i #=> 2
のようにならないとはコードをみただけでは明確ではなく
剰えrubyのFloat classの精度は実装依存であるためこの様な処理はすべきではない
それは良いとしても ( (c-122.1)/365.25 ).to_i の類の表現が他の個所にも複数あり
この内のどれかが
p (5.151/1.717).to_i #=> 2
のようにならないとはコードをみただけでは明確ではなく
剰えrubyのFloat classの精度は実装依存であるためこの様な処理はすべきではない
2018/10/08(月) 23:58:05.73ID:5rk01rQ6
え
ruby って IEEE 754 に準拠してないの?
信じ難いなそれ
使い物にならないじゃん
ruby って IEEE 754 に準拠してないの?
信じ難いなそれ
使い物にならないじゃん
2018/10/09(火) 00:09:36.06ID:lL60bjnv
IEEE754関係ないやろ
Cのdoubleも環境依存やで
Cのdoubleも環境依存やで
2018/10/09(火) 02:53:53.02ID:z616RbAo
いや関係なかったら困るだろ
バグってんだか仕様だかわからなくなるぞ
バグってんだか仕様だかわからなくなるぞ
2018/10/09(火) 07:49:23.39ID:G0ViTg21
関係ないってそういう意味ではないのでは?
>>61の指摘することとIEEE 754は関係ないってだけで。
例えば32bitか64bitでdouble型の精度が違うなんて別に珍しいことではないと思うんですけど。
>>61の指摘することとIEEE 754は関係ないってだけで。
例えば32bitか64bitでdouble型の精度が違うなんて別に珍しいことではないと思うんですけど。
2018/10/09(火) 19:02:39.94ID:jSAcVkU7
> 32bitか64bitでdouble型の
ん? 32bitのdoubleなんてありえるの?
IEEE 754以外で倍制度を決めてる何かがあるの?
ん? 32bitのdoubleなんてありえるの?
IEEE 754以外で倍制度を決めてる何かがあるの?
2018/10/09(火) 21:21:14.72ID:7Krlta4j
>>60
たかだか30行程度のループも再帰もない一本道なので具体的に示してもらえるとありがたいです。
この種のプログラムは地デジの日付情報が MJDで ARIBの規格書にも載っていて、
ごく一般的に使われているので、もし問題があるようならばなんとかしたいですよね。
>( (c-122.1)/365.25 ).to_i
浮動小数点で JD が扱える精度+αくらいならこれは問題ないと思いますが。
c は整数ですし、分母の 365.25もすでに説明しましたね。
グレゴリオ暦6239年で JD が 4000000辺りで分子が 365.25の倍数前後は
4000217.1/365.25 と 4000218.1/365.25 だから仮数部が 19bitほどあればいいわけですね。
# こんな定数のままだとコンパイラが最適化してしまいますけどね
組み込み用途などによっては考慮すべきかもしれないけれど、
最初のお題(>>55 )ってそういう意図があったのでしょうか?
>このサイトに書いてあるとおりに作るとプログラムの結果は正しくならない
これは特定の環境に限られたものを指していたのかな?
たかだか30行程度のループも再帰もない一本道なので具体的に示してもらえるとありがたいです。
この種のプログラムは地デジの日付情報が MJDで ARIBの規格書にも載っていて、
ごく一般的に使われているので、もし問題があるようならばなんとかしたいですよね。
>( (c-122.1)/365.25 ).to_i
浮動小数点で JD が扱える精度+αくらいならこれは問題ないと思いますが。
c は整数ですし、分母の 365.25もすでに説明しましたね。
グレゴリオ暦6239年で JD が 4000000辺りで分子が 365.25の倍数前後は
4000217.1/365.25 と 4000218.1/365.25 だから仮数部が 19bitほどあればいいわけですね。
# こんな定数のままだとコンパイラが最適化してしまいますけどね
組み込み用途などによっては考慮すべきかもしれないけれど、
最初のお題(>>55 )ってそういう意図があったのでしょうか?
>このサイトに書いてあるとおりに作るとプログラムの結果は正しくならない
これは特定の環境に限られたものを指していたのかな?
2018/10/09(火) 21:40:48.90ID:BHyo+myF
精度的に問題ないって理解してれば良いのでは
よく理解してない人が小数点使う必要ない場面で使って事故って何も分かりませんみたいな事あるし
コンシューマゲームなんかだとシビアなんで、癖みたいにしておかないとハマってしまうけど
よく理解してない人が小数点使う必要ない場面で使って事故って何も分かりませんみたいな事あるし
コンシューマゲームなんかだとシビアなんで、癖みたいにしておかないとハマってしまうけど
68デフォルトの名無しさん
2018/10/09(火) 22:33:03.53ID:uKgwXIAC >>55はココからが本当の本題
@ >>58のコードでの誤記の指摘は概ね正解 ただ>>58のコードの修正だけでは紀元前に対応していない 紀元前が対応するように修正しなさい
A @のプログラムの通日を整数の通ナノ秒にして、ナノ秒までの時刻を正確に相互変換できるようにしなさい
B Aにうるう秒をいれて正確に相互変換できるようにしなさい(制約で問題が発生する場合、問題が発生する時刻を書きなさい)
参考URL:http://maia.usno.navy.mil/ser7/tai-utc.dat
Bは普通にやったら結構めんどい課題と考えられる
力技でやるなら暇人以外にはオススメしない(力技でやらないほうがいいと一応警告しておいたからな)
コードの一部を出力するコードをサクッと作るぐらいの力量がなければ
きっとサクッとはできないしサクッと結果の評価もできないと考えられる
@ >>58のコードでの誤記の指摘は概ね正解 ただ>>58のコードの修正だけでは紀元前に対応していない 紀元前が対応するように修正しなさい
A @のプログラムの通日を整数の通ナノ秒にして、ナノ秒までの時刻を正確に相互変換できるようにしなさい
B Aにうるう秒をいれて正確に相互変換できるようにしなさい(制約で問題が発生する場合、問題が発生する時刻を書きなさい)
参考URL:http://maia.usno.navy.mil/ser7/tai-utc.dat
Bは普通にやったら結構めんどい課題と考えられる
力技でやるなら暇人以外にはオススメしない(力技でやらないほうがいいと一応警告しておいたからな)
コードの一部を出力するコードをサクッと作るぐらいの力量がなければ
きっとサクッとはできないしサクッと結果の評価もできないと考えられる
70デフォルトの名無しさん
2018/10/09(火) 22:56:04.77ID:uKgwXIAC2018/10/09(火) 23:20:13.38ID:UrO6v+ga
>>68-70 はサマータイムスレで暴論吐いてた奴じゃない?
2018/10/10(水) 00:03:10.45ID:uHP11E7s
C言語スレとかのいろいろな所に出没してる半角先生だ
どこでも相手にされなくなったから出題しに来た
どこでも相手にされなくなったから出題しに来た
2018/10/10(水) 09:42:44.92ID:hOT3iUsl
サマータイムスレでの暴論って何なんだろう?
まさかのサマータイム賛成なんて奴だったら許せんな。
まさかのサマータイム賛成なんて奴だったら許せんな。
74デフォルトの名無しさん
2018/10/10(水) 16:39:18.23ID:slDdF7J+ お題
倍精度実数で整数部分が正確に表現できる最大値を求める
倍精度実数で整数部分が正確に表現できる最大値を求める
2018/10/10(水) 17:03:11.31ID:8BTNYbZT
浮動小数点実数型と言えど最大要素に近い
部分は、整数×2^整数という形の整数也
部分は、整数×2^整数という形の整数也
2018/10/10(水) 17:03:47.89ID:8BTNYbZT
整数×2^自然数
だた
だた
2018/10/10(水) 17:41:41.04ID:8BTNYbZT
(2^m-1)×2^n
という形
という形
2018/10/10(水) 18:05:44.00ID:TfVezTBt
区間を求めるなら仮数部だけで収まる最大値だけど、
とある数の整数部が正しく表現されているだけなら仮数部も込みで double の最大値が答え
それを std::numeric_limits<double>max() や DBL_MAX を使わずに計算せよ、ということか
とある数の整数部が正しく表現されているだけなら仮数部も込みで double の最大値が答え
それを std::numeric_limits<double>max() や DBL_MAX を使わずに計算せよ、ということか
2018/10/10(水) 19:38:40.27ID:TfVezTBt
>>74を2分探索で計算で出すコード書いてて ideone のコンパイラのバグ見つけた気がする
https://ideone.com/D3ip5M
if 文の条件式の値が1なのに実行されない
find_max<char> とか int32_t で起きる
何か間違ってるかな
https://ideone.com/D3ip5M
if 文の条件式の値が1なのに実行されない
find_max<char> とか int32_t で起きる
何か間違ってるかな
2018/10/10(水) 20:37:17.47ID:GOApHyvI
符号付き整数オーバーフロー(未定義動作)のせいで
変な最適化でもかかってるんじゃね?
変な最適化でもかかってるんじゃね?
2018/10/10(水) 21:07:51.69ID:3iBo9D9z
2018/10/10(水) 22:22:14.63ID:TfVezTBt
83デフォルトの名無しさん
2018/10/11(木) 00:30:47.35ID:p15CvoFg ものすごい頭悪いこといってるわ。。。
UTCは う る う 秒 入 れ た 時 刻 のことだぞ
マジでなんでこんな頭悪いの
天文でつかわれるユリウス日なんかはアホがいうとおり固定
1光年も固定でもないとヤバイからな
1光年は光が1ユリウス年(365.25日)進む距離になる
そもそもオレの課題ではそんなことを問題になんかしてないからな
課題どおりにやればいい
UTCは う る う 秒 入 れ た 時 刻 のことだぞ
マジでなんでこんな頭悪いの
天文でつかわれるユリウス日なんかはアホがいうとおり固定
1光年も固定でもないとヤバイからな
1光年は光が1ユリウス年(365.25日)進む距離になる
そもそもオレの課題ではそんなことを問題になんかしてないからな
課題どおりにやればいい
84デフォルトの名無しさん
2018/10/11(木) 00:34:27.93ID:p15CvoFg 低学歴知恵遅れが知ったぶりしてハジかく典型的な例といっていい
低学歴知恵遅れはいちいち自分が低学歴知恵遅れですと自白するからな
低学歴知恵遅れはいちいち自分が低学歴知恵遅れですと自白するからな
85デフォルトの名無しさん
2018/10/11(木) 01:18:58.62ID:ZbBeURnP おまえまたくっさいくっさい自演しとんのか
2018/10/11(木) 12:46:49.51ID:ZOnVTpMr
誰からも相手にされなくなったか
2018/10/11(木) 13:22:48.89ID:yY2EC70D
相手にされなくなったんで問題だせば自動的に相手にされると思い込んでいる
その辺りが半角先生の思考の限界
その辺りが半角先生の思考の限界
88デフォルトの名無しさん
2018/10/11(木) 14:46:25.14ID:MYvNBgY5 ここが適切なのかわかりませんが、知恵を頂けたら幸いです。
当方CGクリエーターで、プログラミングの知識は殆どありません。
そこで質問なのですが、
Aのオブジェクトの座標値が(-1,-2,-3)として、Bのオブジェクトの座標値が(1,2,3)の場合、
Bのワールド位置を維持して、BをAのローカル座標位置へ移動させるには
どのような行列式になるでしょうか?
ネットで座標変換とか色々調べてみましたが、子のワールド位置を維持した状態で
親に該当するローカル座標へ移動させる方法がわかりませんでした。
本来の目的としては、
CGアニメーションソフトのコンストレイント機能にペアレントがありますが、
それを行列式(ノード)で行いたいのです。
(コンストレインのペアレントとは、
時間軸上の任意の位置で親子関係の接続や解除を行うことが出来る機能です。
その接続/解除時には、子は現在のワールド位置を維持します。
当方CGクリエーターで、プログラミングの知識は殆どありません。
そこで質問なのですが、
Aのオブジェクトの座標値が(-1,-2,-3)として、Bのオブジェクトの座標値が(1,2,3)の場合、
Bのワールド位置を維持して、BをAのローカル座標位置へ移動させるには
どのような行列式になるでしょうか?
ネットで座標変換とか色々調べてみましたが、子のワールド位置を維持した状態で
親に該当するローカル座標へ移動させる方法がわかりませんでした。
本来の目的としては、
CGアニメーションソフトのコンストレイント機能にペアレントがありますが、
それを行列式(ノード)で行いたいのです。
(コンストレインのペアレントとは、
時間軸上の任意の位置で親子関係の接続や解除を行うことが出来る機能です。
その接続/解除時には、子は現在のワールド位置を維持します。
2018/10/11(木) 15:04:14.07ID:3Bdkvxy9
スレ違い
「3d 行列」で検索!
「3d 行列」で検索!
2018/10/11(木) 15:26:21.10ID:ZOnVTpMr
>>88
スレのルールに則れば誰か答えてくれるかもね
スレのルールに則れば誰か答えてくれるかもね
2018/10/11(木) 16:45:05.30ID:NcfxmDj4
>>88
>Aのオブジェクトの座標値が(-1,-2,-3)として、Bのオブジェクトの座標値が(1,2,3)の場合、
(1,2,3) を (-1,-2,-3) からの相対値で表すということなら
(1,2,3) 引くことの (-1,-2,-3) イコール (2,4,6)
>Aのオブジェクトの座標値が(-1,-2,-3)として、Bのオブジェクトの座標値が(1,2,3)の場合、
(1,2,3) を (-1,-2,-3) からの相対値で表すということなら
(1,2,3) 引くことの (-1,-2,-3) イコール (2,4,6)
2018/10/11(木) 21:49:13.39ID:anEb94RG
>>68 >B Aにうるう秒をいれて正確に相互変換できるようにしなさい
>>83 >UTCは う る う 秒 入 れ た 時 刻 のことだぞ
うるう秒を入れるでなく、外すが正解ですね。すでに UTCには閏秒が入っていますから。
UTC(協定世界時)は TAI(国際原子時)を元に閏秒で補正して UT1(世界時)に合わせています。
7:00:00(UTC)の一日先の時間が24h+-1sec(閏秒)でも時刻は7:00:00(UTC)となるわけです。
よって JDに24hを足すと翌日になり JD/24h%7で曜日が分かります。
未来の日付も計算可能ですが、閏秒を入れないTAI(国際原子時)では地球の自転次第で変化します。
>天文でつかわれるユリウス日なんかはアホがいうとおり固定
逆です、天文計算で使うような時間は UT(世界時)を基準にしています。
それは天体の運動方程式を解くために基準の時刻からの正確な時間が必要だからです。
>>83 >UTCは う る う 秒 入 れ た 時 刻 のことだぞ
うるう秒を入れるでなく、外すが正解ですね。すでに UTCには閏秒が入っていますから。
UTC(協定世界時)は TAI(国際原子時)を元に閏秒で補正して UT1(世界時)に合わせています。
7:00:00(UTC)の一日先の時間が24h+-1sec(閏秒)でも時刻は7:00:00(UTC)となるわけです。
よって JDに24hを足すと翌日になり JD/24h%7で曜日が分かります。
未来の日付も計算可能ですが、閏秒を入れないTAI(国際原子時)では地球の自転次第で変化します。
>天文でつかわれるユリウス日なんかはアホがいうとおり固定
逆です、天文計算で使うような時間は UT(世界時)を基準にしています。
それは天体の運動方程式を解くために基準の時刻からの正確な時間が必要だからです。
93デフォルトの名無しさん
2018/10/11(木) 23:02:27.87ID:p15CvoFg https://warwick.ac.uk/fac/sci/physics/research/astro/people/steeghs/mpags-as2/mpags_techniques_2012_1b.pdf
・International Atomic Time (TAI)
- SI second defined by frequency of hyperfine transition of cesium133
- Measured and counted with international network of atomic clocks
・Co-ordinated Universal Time (UTC)
- Our civil time (in winter)
- Based on SI second, with 86400s/day
- Kept synchronised with UT1 since 1972 by addition of leap seconds
- Leap seconds not added to TAI, so TAI-UTC is not constant
- Currently (Nov 2012) TAI - UTC = 35s
- Use of leap secs currently under discussion (inconvenient for astro)
・Co-ordinated Universal Time (UTC)
- Currently (Nov 2012) TAI - UTC = 35s
・Calendar is independent of time system, so state both, e.g.
- 2011 November 11 11:00:00.0 UTC
- 2011 November 11 11:00:34.0 TAI
- JD 2455876.958333 UTC
- JD 2455876.958727 TAI
コレでオレの課題ができないなら
人間やめたほうがいい
・International Atomic Time (TAI)
- SI second defined by frequency of hyperfine transition of cesium133
- Measured and counted with international network of atomic clocks
・Co-ordinated Universal Time (UTC)
- Our civil time (in winter)
- Based on SI second, with 86400s/day
- Kept synchronised with UT1 since 1972 by addition of leap seconds
- Leap seconds not added to TAI, so TAI-UTC is not constant
- Currently (Nov 2012) TAI - UTC = 35s
- Use of leap secs currently under discussion (inconvenient for astro)
・Co-ordinated Universal Time (UTC)
- Currently (Nov 2012) TAI - UTC = 35s
・Calendar is independent of time system, so state both, e.g.
- 2011 November 11 11:00:00.0 UTC
- 2011 November 11 11:00:34.0 TAI
- JD 2455876.958333 UTC
- JD 2455876.958727 TAI
コレでオレの課題ができないなら
人間やめたほうがいい
94デフォルトの名無しさん
2018/10/12(金) 01:38:38.44ID:xbwLlD7o >>74
倍精度って、これでいいの?
https://ja.wikipedia.org/wiki/%E5%80%8D%E7%B2%BE%E5%BA%A6%E6%B5%AE%E5%8B%95%E5%B0%8F%E6%95%B0%E7%82%B9%E6%95%B0
とすると -2^53 〜 2^53 になるわけでプログラムを作る必要性がないわけだが。
それとも仮数部が何ビットか分からない倍精度実数のビット数を求めるプログラムを作れってこと?
倍精度って、これでいいの?
https://ja.wikipedia.org/wiki/%E5%80%8D%E7%B2%BE%E5%BA%A6%E6%B5%AE%E5%8B%95%E5%B0%8F%E6%95%B0%E7%82%B9%E6%95%B0
とすると -2^53 〜 2^53 になるわけでプログラムを作る必要性がないわけだが。
それとも仮数部が何ビットか分からない倍精度実数のビット数を求めるプログラムを作れってこと?
2018/10/12(金) 02:02:42.62ID:ZYTXH3K/
プログラミングのお題
「10以下の素数の和を求めよ」
答え
「17。コード書くまでもないんだがこれでいいのか?」
これはおかしいだろう
「10以下の素数の和を求めよ」
答え
「17。コード書くまでもないんだがこれでいいのか?」
これはおかしいだろう
2018/10/12(金) 02:23:49.18ID:I/tzu8NI
97デフォルトの名無しさん
2018/10/12(金) 02:35:54.36ID:xbwLlD7o え?じゃ、こんな感じ?
perl -e 'for($n=1;(2**$n)!=(2**$n+1);$n++){} printf "%d, %.0f\n", $n, 2 ** $n;'
動かすとこう出るが。
53, 9007199254740992
perl -e 'for($n=1;(2**$n)!=(2**$n+1);$n++){} printf "%d, %.0f\n", $n, 2 ** $n;'
動かすとこう出るが。
53, 9007199254740992
2018/10/12(金) 06:06:04.48ID:j3qUjmca
2018/10/12(金) 07:40:50.69ID:GdhRssFx
100デフォルトの名無しさん
2018/10/12(金) 09:39:43.72ID:1UpgDbu2 first(10)って普通は最初の10個を列挙するもんだがrubyは違うのか…
名前重要ってわりにセンスないな
名前重要ってわりにセンスないな
101デフォルトの名無しさん
2018/10/12(金) 10:33:46.63ID:oIm8hJ6E じゃあちなみにこの関数名は何ならいいんだ?
お前の考えを言ってみろよ
センスを判定してやるよ
お前の考えを言ってみろよ
センスを判定してやるよ
102デフォルトの名無しさん
2018/10/12(金) 10:49:03.90ID:6UbBSJp3 first(10)が10までってセンスは普通におかしいだろ
つーかrubyも最初の10個返すんだが…?
つーかrubyも最初の10個返すんだが…?
103デフォルトの名無しさん
2018/10/12(金) 13:22:40.26ID:+EEi3z6C 誰も動作を疑わずに書かれたものを脳死で信じるいい例だな、 >>99 のは17にはならん
104デフォルトの名無しさん
2018/10/12(金) 13:50:43.62ID:oIm8hJ6E ruby/ruby: The Ruby Programming Language
ttps://github.com/ruby/ruby
そりゃそうだろ
スクリプト言語のソースコードは公開されてて誰でも読めるが
大抵のユーザーは書かれたものを脳死で信じるしかないだろ
それともお前は使うスクリプト言語のソースコードは全部精査してるのか?
コンパイラのソースコードまで熟読してるのか?
ンなモン、脳死で信じるしかねーだろ
ttps://github.com/ruby/ruby
そりゃそうだろ
スクリプト言語のソースコードは公開されてて誰でも読めるが
大抵のユーザーは書かれたものを脳死で信じるしかないだろ
それともお前は使うスクリプト言語のソースコードは全部精査してるのか?
コンパイラのソースコードまで熟読してるのか?
ンなモン、脳死で信じるしかねーだろ
105デフォルトの名無しさん
2018/10/12(金) 13:54:46.58ID:VST6PShP 最近JavaとかC++とか少ないな
Javaは例の騒動があるから仕方ないとしてCとかC++はないんか
Javaは例の騒動があるから仕方ないとしてCとかC++はないんか
107デフォルトの名無しさん
2018/10/12(金) 18:59:19.35ID:eR+rcBR9108デフォルトの名無しさん
2018/10/12(金) 20:05:50.75ID:oyAlSwuR >>105
例の騒動って何
例の騒動って何
109デフォルトの名無しさん
2018/10/12(金) 20:13:31.37ID:jorGy8Se >>79
gcc8.1だと
char
(!(n > d && is_usual_num(n))) 0
(!(n > d && is_usual_num(n))) 0
(!(n > d && is_usual_num(n))) 0
(!(n > d && is_usual_num(n))) 0
(!(n > d && is_usual_num(n))) 0
(!(n > d && is_usual_num(n))) 0
(!(n > d && is_usual_num(n))) 1
(!(n > d && is_usual_num(n))) 0
break
calculated = -128
numeric_limits = 127
128
127
となるね
gcc8.1だと
char
(!(n > d && is_usual_num(n))) 0
(!(n > d && is_usual_num(n))) 0
(!(n > d && is_usual_num(n))) 0
(!(n > d && is_usual_num(n))) 0
(!(n > d && is_usual_num(n))) 0
(!(n > d && is_usual_num(n))) 0
(!(n > d && is_usual_num(n))) 1
(!(n > d && is_usual_num(n))) 0
break
calculated = -128
numeric_limits = 127
128
127
となるね
110デフォルトの名無しさん
2018/10/12(金) 21:22:44.25ID:+EEi3z6C ORACLEがお金取りますよってやつじゃない?
111デフォルトの名無しさん
2018/10/12(金) 21:27:58.87ID:+EEi3z6C なぜか言語自体のコード読む読まないの話になってるけど、これくらいのコードなら動かせばすぐにfirstが何してるか分かるじゃん、って思っただけだわ
112デフォルトの名無しさん
2018/10/13(土) 10:05:11.14ID:m4emGyLz お題
方程式 1/n = 1/x + 1/y (ただし、n,x,yは正整数でx≦y)について考える
例えばn=4のとき、1/4 = 1/5 + 1/20 = 1/6 + 1/12 = 1/8 + 1/8 より解の個数は3である
上限Mが与えられたとき、上の方程式の解の個数がMを超える最小のnの値を求めよ
2 -> 4
5 -> 12
10 -> 24
100 -> 1260
1000 -> 180180
10000 -> 116396280
250000000000 -> ?
方程式 1/n = 1/x + 1/y (ただし、n,x,yは正整数でx≦y)について考える
例えばn=4のとき、1/4 = 1/5 + 1/20 = 1/6 + 1/12 = 1/8 + 1/8 より解の個数は3である
上限Mが与えられたとき、上の方程式の解の個数がMを超える最小のnの値を求めよ
2 -> 4
5 -> 12
10 -> 24
100 -> 1260
1000 -> 180180
10000 -> 116396280
250000000000 -> ?
113デフォルトの名無しさん
2018/10/13(土) 11:29:08.44ID:4qDoRB+X つまんない
114デフォルトの名無しさん
2018/10/13(土) 11:32:11.63ID:QkDteBzw115デフォルトの名無しさん
2018/10/13(土) 11:52:27.26ID:QkDteBzw ごめん。>>114は勘違い無視して
116デフォルトの名無しさん
2018/10/13(土) 17:46:23.51ID:QtssFnIu117デフォルトの名無しさん
2018/10/15(月) 17:32:39.82ID:lmCCx0VP 回答一人で出題者からの返事がないとあってるかどうかわからないから困る
118デフォルトの名無しさん
2018/10/17(水) 11:31:35.00ID:UkGf74ne お題
[0,1]の一様乱数をN個発生させ、小さい順に並べてa(1), ..., a(N)とする
同様にもうN個作って小さい順にb(1), ..., b(N)とする
同じ順位同士で(a(1), b(1)), ..., (a(N), b(N)) とペアを作った時、a>bとなるペアの個数は0〜N個になるが、その分布は?
またa, bを一様分布以外の分布から取ってくるとどうなる?
[0,1]の一様乱数をN個発生させ、小さい順に並べてa(1), ..., a(N)とする
同様にもうN個作って小さい順にb(1), ..., b(N)とする
同じ順位同士で(a(1), b(1)), ..., (a(N), b(N)) とペアを作った時、a>bとなるペアの個数は0〜N個になるが、その分布は?
またa, bを一様分布以外の分布から取ってくるとどうなる?
119デフォルトの名無しさん
2018/10/17(水) 12:32:44.20ID:DKH+Jm9W >>118
それはプログラミングで解くお題なのか?
それはプログラミングで解くお題なのか?
120デフォルトの名無しさん
2018/10/17(水) 13:07:54.93ID:OYXuI76a >>119
シミュレーションしてみるのも面白いかなと
シミュレーションしてみるのも面白いかなと
121デフォルトの名無しさん
2018/10/17(水) 13:50:50.88ID:8efdFbKL 趣味で
122デフォルトの名無しさん
2018/10/17(水) 14:07:56.22ID:4awkQadJ これはひどい
123デフォルトの名無しさん
2018/10/17(水) 15:35:45.15ID:5mPHIqhK プログラミングで解くということに挑戦することから逃げるプログラマー
124デフォルトの名無しさん
2018/10/17(水) 15:55:41.32ID:mC+TJhph 数学に逃げちゃ駄目だ。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★10 [ぐれ★]
- トランプ氏「台湾侵攻すれば北京爆撃」“過激予告発言”報道がXで再燃「高市氏の1億倍やばい」 [七波羅探題★]
- 【維新国会議員が800万円超の公金を使用】藤田文武共同代表が印刷代569万円を維新市議の「身内企業に支出」していた! [ぐれ★]
- 【ペルソナ・ノン・グラータ】中国総領事の早期国外退去を首相に要請へ 自民・保守系グループ「日本の尊厳と国益を護(まも)る会」 [ぐれ★]
- 「母の部屋に安倍氏が表紙の機関誌が」「(安倍氏が被害者なのは)不思議に思いませんでした」山上被告の妹が証言 ★2 [おっさん友の会★]
- 【(・(ェ)・)】収穫前のリンゴ2トン!丸々と太ったクマがリンゴ畑に連日現れ…一晩中居座る「こんなに食べられたのは初めて」長野・上田 [ぐれ★]
- 安倍晋三さん、完全にチェックアウトしてしまう…「母の部屋に安倍元首相が表紙の旧統一教会の機関誌があった」 [405019576]
- 中国報道、高市首相を「毒苗」と中傷😡 [399259198]
- 【高市悲報】🇨🇳中国「日本への報復措置? 他にいくらでも方法はある。 まだまだやめないよ」 😨😱 [485983549]
- 【悲報】日本、パンダ0にwwwwwwwwwwww高市さんありがとう🐼 [271912485]
- 高市早苗、約1ヶ月でドル円・10円円安を達成 [256556981]
- 高市さん「自賠責を勝手に他の財源に充てるな、返せ」財務省さん、しぶしぶ5700億円を返還 [881878332]
