[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 08/23 04:50 / Filesize : 284 KB / Number-of Response : 1021
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

プログラミングのお題スレ Part8



1 名前:デフォルトの名無しさん mailto:sageteoff [2015/10/07(水) 20:19:06.64 ID:c4LYwtKo.net]
プログラミングのお題スレです。

前スレ
プログラミングのお題スレ Part7
peace.2ch.net/test/read.cgi/tech/1429195275/

【出題と回答例】
1 名前:デフォルトの名無しさん
  お題:お題本文

2 名前:デフォルトの名無しさん
  >>1 使用言語
  回答本文

【ソースコードが長くなったら】 (オンラインでコードを実行できる)
ideone.com/
codepad.org/
compileonline.com/
rextester.com/runcode
runnable.com/
code.hackerearth.com/
melpon.org/wandbox
https://paiza.io/

宿題は宿題スレがあるのでそちらへ。

175 名前:デフォルトの名無しさん mailto:sage [2015/12/08(火) 19:56:53.86 ID:3EaU/rl6.net]
e!?

176 名前:デフォルトの名無しさん mailto:sage [2015/12/08(火) 20:17:02.87 ID:3EaU/rl6.net]
いやいやいやいやいやいや・・・・・。
式パクってきて2分法書いて、モンテカルロやっただけですぜ。
天才とかとは程遠い。っていうか無縁。
天才っていうのは式を作る人。

177 名前:164 mailto:sage [2015/12/08(火) 20:20:16.07 ID:a07369ql.net]
おお、モンテカルロも手だな
解析的近似ばかりじゃなく
数値計算の力技もコンピューターならではの解法だ
したがって天才はコンピューターである。

なんちゃって

178 名前:デフォルトの名無しさん mailto:sage [2015/12/08(火) 20:40:17.60 ID:3EaU/rl6.net]
実際、叩かれるつもりで投稿したんだがなんか怒られる兆しがないな。
いやー、コンピュータはすごいよ。

俺がじまんしたいのはモンテカルロより綺麗にかけた2分法のほうなんだよな。
まぁそれもベースはパクってきたわけなんだけど。Orz

179 名前:デフォルトの名無しさん mailto:sage [2015/12/08(火) 20:44:12.32 ID:3EaU/rl6.net]
>>173
ちょうどいいから聞きたいんだけど、
一般的に積分に限らずデルタってどっから引っ張ってくるの?
わからなかったからランダム適応したんだけど。勘で・・・。Orz
作法あるんだったら知りたい。

180 名前:デフォルトの名無しさん mailto:sage [2015/12/08(火) 20:53:40.72 ID:k5FAaYPJ.net]
モンテカルロよりはマシだろ

#include <math.h>
#include <stdio.h>
#define DIV_NUM 16777216
#define PI 3.14159265358979323846
#define A 3
#define B 2
int main(){
double x0 = A;
double y0 = 0.0;
double length = 0.0;
for (int i = 0; i < DIV_NUM; i++) {
double ang = i * (PI / 2 / DIV_NUM);
double x1 = A * cos(ang);
double y1 = B * sin(ang);
double dx = x1 - x0;
double dy = y1 - y0;
length += sqrt(dx * dx + dy * dy);
x0 = x1;
y0 = y1;
}
printf("%f", length*4);
return 0;
}

181 名前:デフォルトの名無しさん mailto:sage [2015/12/08(火) 20:57:35.31 ID:k5FAaYPJ.net]
なんか微妙に間違ったな
値は大体あってるけど

for (int i = 1 ; i <= DIV_NUM ; i++){

こうだね

182 名前:デフォルトの名無しさん mailto:sage [2015/12/08(火) 21:14:08.51 ID:3EaU/rl6.net]
俺の悩みは一体。もっといい理屈があるじゃないか!Orz

183 名前:デフォルトの名無しさん mailto:sage [2015/12/08(火) 22:02:09.84 ID:k5FAaYPJ.net]
一番原始的な積分値の求め方だよ



184 名前:デフォルトの名無しさん mailto:sage [2015/12/08(火) 22:08:33.54 ID:3EaU/rl6.net]
なるほど。勉強になるわ。

185 名前:デフォルトの名無しさん mailto:sage [2015/12/09(水) 02:46:42.95 ID:WkKrcfNI.net]
>>162
ideone.com/Fpqwn1
C++。実はこれでよかったのか?
ゲーム世代だから、こう、もっと複雑なものを想像してたんだけど。
こんな感じでいいの?シンプルね。

スペシャルサンクス >>179@積分について教えてもらった。

186 名前:164 mailto:sage [2015/12/09(水) 21:24:48.15 ID:ZhIEYZLO.net]
>>175
台形式による数値積分の積分幅に応じた誤差は関数の
二次微分値(曲率)に応じて変化するので、積分幅を調整することによって
誤差を抑制したければ関数の二次微分に相当する値に応じた
幅を使えばいいとおも
あるいは区間の関数自体を非直線近似によって真の値からの乖離による
誤差を減らしかつ計算量を抑えるにはシンプソンとか二次曲線近似とか

187 名前:164 mailto:sage [2015/12/09(水) 22:44:23.10 ID:92NQQkZk.net]
いや、でも円を等分割したときの誤差率は
完全に分割角依存で
曲率半径には依らないか
なんか間違えちゃったかもwテヘペロ

188 名前:デフォルトの名無しさん mailto:sage [2015/12/09(水) 22:53:48.61 ID:EF8HxpWM.net]
>>182
なんか素人が痛いからそろそろ止めた方が
板違いだし

189 名前:デフォルトの名無しさん mailto:sage [2015/12/10(木) 00:24:50.66 ID:FNI4SdQA.net]
>>182-183
解説ありがと。
でも、数学わからんので数学用語がこんなに出てくると爆発しちゃうお。

190 名前:デフォルトの名無しさん [2015/12/10(木) 20:15:14.98 ID:qXWtOvvK.net]
お題:
西暦が与えられるので
その年の十月一日から翌年の二月末日までに
平日の月曜がいくつあるか求めよ

191 名前:デフォルトの名無しさん mailto:sage [2015/12/10(木) 23:05:45.07 ID:1swodkqj.net]
>>186
>>平日の月曜がいくつあるか求めよ

平日の月曜というのがよくわからないのですが、
たとえば、春分の日とか秋分の日が月曜日ならばそれを除く
ということですか。
春分や秋分の日が日曜日のときは、月曜日が振り替え休日に
なりますが、その場合も除くのでしょうか。

192 名前:デフォルトの名無しさん mailto:sage [2015/12/10(木) 23:14:37.28 ID:qXWtOvvK.net]
>>187
はい、祝日と振り替え休日を除いた日数です

193 名前:デフォルトの名無しさん mailto:sage [2015/12/10(木) 23:26:01.14 ID:IEwdtYYT.net]
祝日って施行された年月日の表を持たないといけないね
決め方も途中で日にち固定じゃなくなった祝日もあるし



194 名前:デフォルトの名無しさん mailto:sage [2015/12/11(金) 00:00:09.46 ID:QFhJl34b.net]
江戸時代には、祝日というものは正月ぐらいしかないだろうし、
祝日も明治5年の改歴以来いろいろと変わってきているので、
西暦をインプットして求めるといったって、そういう祝日が何年から
改訂されたかの表が必要でしょうし、第一天文学的に決める春分と
秋分の日が今日では、地球の自転を一定とした力学字で計算し、そして
その力学時と世界時との差を予測して世界時に直して日にちを決めて
いるわけだから、過去の世界時と力学時との差は判っているけれど
将来の差はあくまでも予測にしか過ぎないから、将来の春分や秋分の日
を求めて、それが月曜日にあたっていないと計算ではでても、その時の
世界時と力学時との差はその年にならなければ判らないから、将来
については、厳密にいうと計算できないことになります。
西暦を与えてということだから、たとえば西暦1000年については
どのように計算すればいいのですか。その頃の祝日というのは、どうすれば
わかりますか。

195 名前:デフォルトの名無しさん mailto:sage [2015/12/11(金) 00:27:12.79 ID:eVuXsWSu.net]
日本国という縛りもありませんし。

196 名前:デフォルトの名無しさん mailto:sage [2015/12/11(金) 06:26:06.24 ID:tt4EKsw8.net]
これアルゴリズムとか関係なくね?

DBに自分で登録するかそういうWebサービスを探して利用するしか

197 名前:デフォルトの名無しさん mailto:sage [2015/12/11(金) 06:32:51.11 ID:tt4EKsw8.net]
>>189の言うように予め配列等に祝日のデータが入ってると仮定すれば答えようがあるかも

宿題や仕事で使うコードなら他人に投げるのは感心しない

198 名前:デフォルトの名無しさん mailto:sage [2015/12/11(金) 06:40:36.76 ID:kB8+oJGq.net]
どこかで見た問題に適当に制約付けただけじゃね?
ちょっとでも考える能力あればこりゃ無理と分かるだろうし

199 名前:デフォルトの名無しさん mailto:sage [2015/12/11(金) 09:08:34.35 ID:eVuXsWSu.net]
俺ニートだから、全部休日な。答えは0だ。

200 名前:デフォルトの名無しさん [2015/12/11(金) 13:06:30.20 ID:L6hqxofP.net]
paiza、「プログラミングで彼女をつくる」オンラインハッカソンを開催 | マイナビニュース
エムアウトグループのギノは12月8日、IT/Webエンジニアに特化したプログラミング転職サイト「paiza」にて、恋愛プログラミングゲーム「paiza オンラインハッカソンVol.7 プログラミングで彼女をつくる」を公開したことを発表した。
開催期間は、2015年12月8日12時00分から2016年1月13日23時59分まで。
news.mynavi.jp/photo/news/2015/12/09/611/images/001l.jpg
news.mynavi.jp/photo/news/2015/12/09/611/images/002l.jpg
news.mynavi.jp/news/2015/12/09/611/




恋愛SLG: プログラミングで彼女をつくる|paizaオンラインハッカソン7
https://paiza.jp/poh/ando

201 名前:デフォルトの名無しさん mailto:sage [2015/12/12(土) 00:02:55.04 ID:epBUOQqG.net]
ニッポンバンザーイ!!!

202 名前:デフォルトの名無しさん mailto:sage [2015/12/12(土) 01:49:09.61 ID:g+kFVlkS.net]
>>196
全部解くのに70分、水着に30分かかってもーた

203 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 07:17:29.28 ID:O2iUJZml.net]
>>162
ideone.com/gPjeg8
C++。意味も分からずパラメータをいじっていたらより模範解答に近づいたのでアップ。
なぜかGCCではコンパイルできない。
メルセンヌツイスタは優秀だな。さすがモンテカルロ用乱数。



204 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 07:23:54.61 ID:O2iUJZml.net]
今見て思ったんだけど、このコード乱数使ってるのにこの精度だと値がほとんど一意なんだな。
これどれくらいあってるんだろう??

205 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 14:41:46.73 ID:X4YbRsnm.net]
お題:モンテカルロ法でドーナツから切り取った部分の体積と表面積を求めなさい
uproda.2ch-library.com/909700o0Q/lib909700.bmp
参考:
3次元CADでは
体積  194#.##・・・
表面積 99#.##・・・

206 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 16:48:49.04 ID:sP1yS+qf.net]
>>201 C++
体積だけ
ideoneが調子悪くてせっかく書いたのが消えた
出力にはそれらしい数字が表示されてるでしょ
ideone.com/NK8Obe

207 名前:201 mailto:sage [2015/12/13(日) 16:58:32.34 ID:sP1yS+qf.net]
ついイライラしてクソ解答を書き込んでしまったが、コード書きなおした
ideone.com/l7avA0

208 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 22:16:08.38 ID:O2iUJZml.net]
ideone.com/9dojVw
C++。謎の係数に轟け。

209 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 02:29:21.98 ID:eVz/xHue.net]
>>201
ideone.com/jTXuFD
ちょい、リファレンス間違ってねーか?
詳しくはウィキペディア見てくれ。
https://ja.wikipedia.org/wiki/%E3%83%88%E3%83%BC%E3%83%A9%E3%82%B9

210 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 02:30:05.61 ID:eVz/xHue.net]
あー切り取った部分だった。Orz

211 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 03:09:34.83 ID:eVz/xHue.net]
真面目に考えると結構難しいなぁ。

212 名前:200 mailto:sage [2015/12/14(月) 09:45:09.75 ID:qfulNci3.net]
正確な値:
体積   1946.99
表面積  992.95
(±0.5%ぐらいなら正解かな)
1937〜1956
988〜998

213 名前:名無しさん@そうだ選挙に行こう mailto:sage [2015/12/14(月) 14:54:41.43 ID:0wzBU9LM.net]
>>201 C++
表面積だけ
アプローチが間違ってるのでだいぶ誤差があるんだけど、正しいアプローチがわからん
ideone.com/Z07oLX



214 名前:名無しさん@そうだ選挙に行こう mailto:sage [2015/12/14(月) 15:51:49.07 ID:qltyQEb4.net]
(ヒント)
バナナの表面積はわからないけど
バナナの皮を剥いてミキサーにかけて
どろどろにして軽量カップに移せば体積はわかる。
バナナの皮が極めて薄ければ
(あまり薄くするとモンテカルロが不安定になるから0.1ぐらいがいいかな?)
軽量カップの体積=バナナの表面積×皮の薄さ
よって、
バナナの表面積=軽量カップの体積/皮の薄さ

215 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 21:26:29.60 ID:LGdp/ous.net]
>>210
おいおい,体積(と密度)を一定にしても表面積はいかようにもかえられるぞ‥

216 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 22:01:47.63 ID:5mSwVQ2V.net]
>>201
ideone.com/mYkufI

まあまあかな
表面は>>210の方法じゃなくて2個に分けてみた
平面の方は簡単だけど、曲面の方はちょっと複雑

>>210じゃさすがに誤差が大きいんじゃ?

217 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 22:50:43.48 ID:A0mNKi9L.net]
>>211
表面境界の方程式がわかってるんだから
そこから薄い0.1厚範囲の体積がモンテカルロでわかれば
その体積÷0.1でほぼ表面積なんじゃないかな。
精密にするには(外側0.1厚+内側0.1厚の範囲の体積)÷0.2のほうがいいけど。

218 名前:デフォルトの名無しさん mailto:sage [2015/12/15(火) 19:16:41.27 ID:HlYC/kU7.net]
薄膜に当たる率が低くて非効率すぎる

219 名前:デフォルトの名無しさん mailto:sage [2015/12/15(火) 19:17:41.82 ID:HlYC/kU7.net]
面は面の率でやらないと

220 名前:デフォルトの名無しさん mailto:sage [2015/12/15(火) 21:37:30.34 ID:HlYC/kU7.net]
ideone.com/GqQTYQ
普通に積分を使ってやるとこんな感じ

>>208
CADの誤差って結構大きいね

221 名前:デフォルトの名無しさん mailto:sage [2015/12/15(火) 21:51:36.86 ID:HlYC/kU7.net]
ideone.com/fYxQyU
薄皮方式

>>212 に比べて誤差は大して変わらなかった

222 名前:デフォルトの名無しさん mailto:sage [2015/12/15(火) 21:59:12.88 ID:HlYC/kU7.net]
>>212の曲面部分の効率が悪いのが原因か
60度の範囲だけ調べれば十分だから同じ精度で3倍は早くなる
同じ時間だと誤差は1/√3に

223 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 14:09:16.90 ID:8FwsYmi7.net]
>>216
CADも高価(50万以上ぐらい)なのは正確
Autocad体験版(70万)で試したらは正確だった。
自分のは6万の安物



224 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 07:16:30.79 ID:MUNBX9mT.net]
>>219
正確な値はどうやって調べました?

225 名前:デフォルトの名無しさん mailto:sage [2015/12/19(土) 10:37:34.32 ID:R5LeEZzK.net]
6あれば9あり

226 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 21:50:12.68 ID:+ldhkJyO.net]
お題:丸括弧を行頭か行末にしかかけないルールで整形する

227 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 00:42:27.39 ID:uvgJJP9n.net]
意味不明

228 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 23:24:49.38 ID:zvvbCA1Y.net]
与えられた文字列を適当な個所で改行して整形してください
ただし、丸括弧は必ず行頭か行末にくるようにすること

229 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 23:47:27.56 ID:+one86k3.net]
いわゆる禁則処理を実装しろって事か?

230 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 23:52:26.53 ID:uvgJJP9n.net]
>>224
ideone.com/of1XGC
C++。Lispのインタプリタでも作ってるのか?
これくらいできないと先は暗いな。

231 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 00:08:45.49 ID:V7QFceGd.net]
>>226
39~40行目で改行から80文字数えてるけど、ここにも改行処理入れるつもりだったのでは…?

232 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 00:09:49.09 ID:V7QFceGd.net]
>>227書いて、ideone更新したら改行処理入ってたw

233 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 00:19:55.66 ID:JMFsFNWO.net]
あぁ、すまん。
ちょっとコードに不満あったから修正してた。
ソーリー。たぶんこれでおk。



234 名前:デフォルトの名無しさん mailto:sage [2015/12/27(日) 09:05:47.31 ID:q7MBupA+.net]
>>229
あなたGitHubやらんの?

235 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 00:06:02.54 ID:T+sfUcIf.net]
>>230
アカウントはもってるが、コマンドが不理解で使えてない。
VSでコンパイルするたびにプッシュしてほしいんだけど、
そういうことのやり方がさっぱりで諦めた。

236 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 09:36:01.27 ID:Rf5WBlJJ.net]
>>231
VSもGitはコマンドライン操作?
あなたコード書くの好きそうだしGitHubで公開した方がいいんでない

237 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 00:04:03.34 ID:zkqY07q7.net]
>>232
一応GUI統合のパッケージがあるのだけど、
使い方がVSのそれじゃない感じなので挫折したっていうね。
今は治ってるのかなぁ・・・。

まぁ、コード書くのはきらいじゃないんだけど、
タマに書くコードとかはお遊戯なので公開してもあんまりメリットないと思います。
まぁちょっと試してみるか。

238 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 01:06:22.14 ID:zkqY07q7.net]
一応、VS上からサバに送ることはできた。
しかし、鯖側が何やってるか把握してないので、頭沸騰しそうだよぉ。
すごい、怖いです。

239 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 15:27:55.80 ID:B86ZwWUs.net]
個人開発ならadd, commit, pushだけ使えればおkじゃない

240 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 23:56:47.54 ID:zkqY07q7.net]
ググるならそれで困らないと思う。
だが、VS上では日本語なので何をやってるかさっぱりでやり直しなのだ。
勘でこういうことだろう。っていうのを類推しながら昨日やってたが、頭沸騰する。
マジ、苦行だ。

241 名前:デフォルトの名無しさん mailto:sage [2015/12/30(水) 06:03:10.21 ID:HSsTu4WU.net]
Gitのプロジェクトを管理してる日本人が本出してるからお布施してみれば

242 名前:デフォルトの名無しさん mailto:sage [2015/12/30(水) 08:15:12.42 ID:BOREIzQ4.net]
気が向いたらやりまっす。

243 名前:デフォルトの名無しさん mailto:sage [2015/12/31(木) 00:17:22.29 ID:1GOOzyNm.net]
お題:猿から餌を守る。
動物園では猿の餌を3桁の回転ダイヤル式鍵で保管管理しています。
各桁は0〜9までのどちらの方向にも回せるタイプです。
しかし猿は定期的に鍵を開けようと試みます。
猿は各桁のダイヤルをそれぞれ1操作回転させてからU字部を引きます。
もちろん、設定と合った場合は開錠してしまい餌を盗られてしまいます。
猿は番号を覚えたり、ダイヤルを順番に試すような知恵は無いので
常に操作は無作為です、また回転させる方向も無作為です。
しかし、この鍵は特殊で作られていて、回転の摩擦抵抗を(弱・中・強)
に設定出来るようになっています。
弱の場合は1操作で、10〜20までのランダムなステップ数が回ります。
中の場合は1操作で、5〜10までのランダムなステップ数が回ります。
強の場合は1操作で、0(回せなかった)又は、1ステップ数が回ります。
ここで、3桁の設定をどのようにすれば、猿が最も開錠する確率が低くなるでしょうか?
3桁の順番は関係ないと思うので、例えば
(2桁を中、1桁を強)または(2桁を弱、1桁を強)などと答えてください。



244 名前:デフォルトの名無しさん mailto:sage [2015/12/31(木) 00:33:02.82 ID:kHVCdoOu.net]
ドンだけランダム必要なんだ。ちょっと面倒だなぁ。

245 名前:デフォルトの名無しさん mailto:sage [2015/12/31(木) 02:00:08.64 ID:kHVCdoOu.net]
>>239
ideone.com/NBUZIw
C++。ローカルでデバッグしたら収束しなかったので、ほとんどデバッグしてない。
なぜかイデオン上では速攻オワタ。
大丈夫かこれ???

246 名前:デフォルトの名無しさん mailto:sage [2015/12/31(木) 02:00:55.35 ID:kHVCdoOu.net]
ところで、GITHUB公開したらメールばれするじゃないか。
そんな趣味はありませんですことよ。

247 名前:デフォルトの名無しさん mailto:sage [2015/12/31(木) 02:52:11.77 ID:kHVCdoOu.net]
ちょ、誰かいない?
>>241検証できる人いませんかー。
デバッグできないので何ができるわけでもないけど。

248 名前:デフォルトの名無しさん mailto:sage [2015/12/31(木) 09:45:56.04 ID:gJy9w4AY.net]
新年問題きたか

249 名前:デフォルトの名無しさん mailto:sage [2015/12/31(木) 12:42:50.44 ID:2anvHRU0.net]
>>239 Java
ideone.com/ZAAHRo

250 名前:デフォルトの名無しさん mailto:sage [2015/12/31(木) 13:19:32.68 ID:/Zl81OUL.net]
数学的に解きたくなってしまうな・・・

251 名前:デフォルトの名無しさん mailto:sage [2016/01/01(金) 00:32:27.90 ID:9G3HgWpt.net]
>>239
ideone.com/XqmuP4
C++。ちょっとバグってたの修正。0〜8までしか選択できてなかった。

252 名前:デフォルトの名無しさん mailto:sage [2016/01/01(金) 00:34:34.13 ID:9G3HgWpt.net]
あけましておめでとうございます。

253 名前:デフォルトの名無しさん mailto:sage [2016/01/01(金) 01:02:54.81 ID:yxxZ1kbC.net]
おめでとうございます



254 名前:デフォルトの名無しさん mailto:sage [2016/01/01(金) 13:06:55.68 ID:eZmmhQ/k.net]
あけましておめでとうございます。今年もよろしく。
新年最初の問題なので簡単そうで難問に挑戦してください。

お題:直角三角形ABCがあります。
∠Cが直角とします。
ACの長さは5cmです。
ABの線上に点Pを取りました。
APの長さは2cmです。
ここでPからCに線分を引きました。
PCの長さを測るとちょうど4cmでした。
この直角三角形ABCのBCの長さは何cmでしょうか?
なるべく正確に出しなさい。

255 名前:249 mailto:sage [2016/01/01(金) 13:23:06.00 ID:eZmmhQ/k.net]
訂正
問題ミスです。簡単ですねw

256 名前:デフォルトの名無しさん mailto:sage [2016/01/01(金) 14:48:21.26 ID:BqDq7bML.net]
余弦定理よりcosA=13/20
1+(tanA)^2=(1/cosA)^2 よりtanA=√31/13
BC=5tanA=5√31/13

257 名前:249 mailto:sage [2016/01/01(金) 20:25:54.12 ID:eZmmhQ/k.net]
訂正お題:△ABCがあります。辺BCが底辺です。
(それぞれの角は90°以上にならない普通の三角形です。)
BCの長さは8cmです。
CからABの線上に垂線を下ろし点Pを取りました。
APの長さはちょうど1cmなりました。
さらにPからBCの線上に垂線を下ろし点Qを取りました。
PQの垂線の長さはちょうど3cmなりました。
さてBQの長さは何cmでしょうか?(注意:解が1つとは限りません。)
小数点以下6桁まで出しなさい。

258 名前:デフォルトの名無しさん mailto:sage [2016/01/02(土) 08:23:10.74 ID:R8CGoUf/.net]
>>239 Java
ideone.com/4144a7
5秒に収まらなかったでござる…だが精確にはなったと思う

259 名前:249 mailto:sage [2016/01/02(土) 16:54:58.87 ID:qBZ4J2GA.net]
どうもm(_ _)mごめんなさい、簡単そうで定規コンパスで絶対作図出来ない三角形
やっと思い出しました。(恐らくCADでも作図できない。)
お題:△ABCがあります。辺BCが底辺です。
(それぞれの角は90°以上にならない普通の三角形とします。)
三角形の高さは7cmです。
BCの長さは10cmです。
ABの線上に点Pを取りました。
APの長さは1cmです。
ここでPCの線分を引き長さを計るとちょうど8cmなりました。
さてPBの長さは何cmでしょうか?
小数点以下6桁まで出して下さい。

260 名前:デフォルトの名無しさん mailto:sage [2016/01/02(土) 18:31:25.74 ID:R8CGoUf/.net]
>>255 Java
ideone.com/NJYMYX
よーわからんがこれでええのん?

261 名前:デフォルトの名無しさん mailto:sage [2016/01/02(土) 21:36:26.87 ID:qBZ4J2GA.net]
>>256
Goodです。やはりプログラムは簡便に求まりますね。
確か、方程式にすると4次方程式だったかな。

262 名前:デフォルトの名無しさん mailto:sage [2016/01/02(土) 23:12:30.77 ID:wbcMORBx.net]
6次にはなったけど、4次になる?
どうやるの?

263 名前:デフォルトの名無しさん mailto:sage [2016/01/02(土) 23:57:06.31 ID:wbcMORBx.net]
6553600 x^6 -22937600 x^5 +30353664 x^4 -18575872 x^3 +5301408 x^2 -889056 x +194481 = 0
の解(の1個)に対して、
8x / (7-8x) が求める長さ



264 名前:255 mailto:sage [2016/01/03(日) 00:02:35.63 ID:j2CXypF5.net]
うん、さっぱりわからんww

265 名前:デフォルトの名無しさん mailto:sage [2016/01/03(日) 00:10:58.01 ID:o15FFH+r.net]
普通にpyを8xと置いて方程式を立てて整理しただけ

266 名前:デフォルトの名無しさん mailto:sage [2016/01/03(日) 00:35:54.90 ID:TvE7D5Dq.net]
>>255 Emacs Lisp

(require 'cl-lib)
cl-lib

(let ((Ay 7.0) (Bx 0.0) (By 0.0) (Cx 10.0) (Cy 0.0) (AP 1.0) (PC0 8.0))
(let ((Axmin Bx) (Axmax Cx) PB0)
(cl-loop
(let ((Ax (/ (+ Axmin Axmax) 2)))
(let* ((Px (let ((a (+ 1 (expt (/ Ay Ax) 2)))
(b (+ (* -2 Ax) (/ (* -2 Ay Ay) Ax)))
(c (+ (expt Ax 2) (expt Ay 2) (- AP))))
(/ (- (- b) (sqrt (- (expt b 2) (* 4 a c)))) (* 2 a))))
(Py (* (/ Ay Ax) Px)))
(let ((PB (sqrt (+ (expt (- Px Bx) 2) (expt (- Py By) 2))))
(PC (sqrt (+ (expt (- Px Cx) 2) (expt (- Py Cy) 2)))))
(and PB0 (< (abs (- PB0 PB)) 0.000001) (return (format "%f" PB)))
(setf (if (< PC0 PC) Axmin Axmax) Ax)
(setq PB0 PB)))))))
"7.959000"

267 名前:デフォルトの名無しさん mailto:sage [2016/01/03(日) 02:58:05.62 ID:o15FFH+r.net]
>>249 をニュートン法で解くのが良い
100万桁くらい求められる

268 名前:デフォルトの名無しさん mailto:sage [2016/01/03(日) 15:15:54.32 ID:gIFHPruM.net]
>>255 Haskell
適当にやったけどそれなりの値に収束したぞ

main = print $ f 3 1 !! 10000
f x d = x : f (x - g x * d) (d * 0.9)
g x = sqrt(1-((x^2+10^2-8^2)/(x*10*2))^2)*(x+1)-7

--
7.958400097301163

269 名前:デフォルトの名無しさん mailto:sage [2016/01/03(日) 17:50:09.78 ID:cbZEOl3j.net]
249とかは、プログラミングの話題とはあんまり関係ないと思うんだが

270 名前:デフォルトの名無しさん mailto:sage [2016/01/04(月) 18:16:31.23 ID:mH8w9NDh.net]
正しい値
7.958999540670207177702263965366890868924353898555
7799452182420944176743383277819472811732768796743
8318898738257814428173492288313392264554506228517
666119...

271 名前:デフォルトの名無しさん mailto:sage [2016/01/04(月) 18:19:15.52 ID:mH8w9NDh.net]
>>201 の正しい値
1947.11807954634173960535758830613451914405126679271213882
533811635602148727751327773910199748046019861942974251070
215931647320721843150204685782788027005081182762594264937
472455162842376624181590647736961208708004693388297869382...

992.957114044052359738684758693502096892477144491881820261
461861302037924597815356848916173956940410685796740490976
075326082780973939688404480667490868665288270999173692699
242549879611533131497908524170290199136162010153658336901...

272 名前:デフォルトの名無しさん mailto:sage [2016/01/08(金) 01:15:21.96 ID:2qKIN/Bt.net]
お題: 1~n行の文字列が入力されます。'*'の矩形で囲って出力してください
例:(出力は左詰め半角スペースでパディングしてるつもり)
in < ab
in < abc
in < a
out >
******
* ab *
* abc *
* a *
*****

以下のオプションは取捨選択自由です
a. タブ文字への対応(矩形が崩れなければおk)
b. 右詰め、中央詰めの選択可能な実装
c. 日本語への対応

273 名前:デフォルトの名無しさん mailto:sage [2016/01/08(金) 01:21:33.67 ID:XS9KJKDz.net]
aは4タブか8タブかで宗教戦争に入るからなぁ。
bは割とできる方。
cはC++だとめちゃくちゃ大変。ウニコードコンテナ入らないと難しい。
あと、等幅フォントじゃないと難しい。



274 名前:デフォルトの名無しさん mailto:sage [2016/01/08(金) 01:37:44.81 ID:2qKIN/Bt.net]
>>269
ですね。追加で

d. a.で半角スペースに変換する場合、半角スペース数の選択可能な実装

275 名前:デフォルトの名無しさん mailto:sage [2016/01/08(金) 01:46:59.74 ID:2qKIN/Bt.net]
c. は確かに等幅フォントじゃないとアレですね、環境依存ですね
等幅フォント前提でおなしゃす






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<284KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef