トップページ⇒tech
1001コメント336KB

プログラミングの為の数学と算数 vol.2

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
プログラムに必要な数学、算数に関する話題について
語りましょう。TIPS/Q&Aスレです。
0554デフォルトの名無しさん2006/07/20(木) 07:11:30
550 じゃないが

>>551
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2409.cpp

方針は以下:

(1) は自明.
(2) はソートして左から数える.ソートしたおかげで単調性が得られ,
  一度交わらなくなったらそれより先を調べる必要がなくなる.
(3) は (2) でどこまで調べないといけないかを二分探索を行う.
0555デフォルトの名無しさん2006/07/20(木) 08:09:59
拙いPerlですが。
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28099

(i) 区間対の個数はO(nn)、重なりの有無の判定はO(1)だから、全体でO(nn)。

(ii) >>554に同じ。

(iii) 与えられた区間の始点と終点を列挙し、ソートし、各点に何個の始点・終点が重なっているか調べる。
区間のネストの数を把握しながらこの列を走査して重なりの総数を得る。
実際のコードでは始点・終点の個数の計算と最後の操作を一つのループで行っている。
0556マイク ◆yrBrqfF1Ew 2006/07/20(木) 19:23:08
>>554-555
・・・
2chネラにこんなことを言うのもあれだが
お前らすげーな。
どこの金子勇的風貌の京大院生だ?
0557デフォルトの名無しさん2006/07/20(木) 22:30:46
大学で情報やれば大体やるぞ。
今からでも勉強してみたらどうでい。
0558デフォルトの名無しさん2006/07/30(日) 08:15:10
二次元上の多角形の面積を求めるには外積で一発ですが、
三次元上の多面体の体積を求めるには何か方法はありませんか?
0559デフォルトの名無しさん2006/07/30(日) 10:47:51
O = (0,0,0), A = (ax,ay,az), B = (bx,by,bz), C = (cx,cy,cz)
4面体OABCの体積は
1/6( ax by cz + ay bz cx + az bx cy - az by cx - ax bz cy - ay bx cz )
0560デフォルトの名無しさん2006/07/30(日) 10:49:24
外積っていうより行列式に見える……。外積と行列式って関係あったっけ?
0561デフォルトの名無しさん2006/07/30(日) 11:00:04
そりゃあるさ
0562デフォルトの名無しさん2006/07/30(日) 12:06:07
>>558
外積
0563デフォルトの名無しさん2006/07/30(日) 16:12:50
n次元体積を求めるにはベクトル出して行列式で一発じゃないのか?
0564デフォルトの名無しさん2006/07/30(日) 16:14:36
3次元なら体積は (a×b)・c = det(a b c)だし
0565デフォルトの名無しさん2006/07/30(日) 18:27:31
精度や対応できる形状をどこまでの範囲にするか決めないとな
体積を求めたい多面体が凸でない場合は4面体の和に分割するところが面倒かもよ
凸多面体でも分け方によって誤差が変わってくるからそんなに簡単ではないかもよ
0566デフォルトの名無しさん2006/08/06(日) 16:49:43
おのおのの面に対して、原点とその面でつくられる錐体の符号付体積を足せばいいんでないの?
0567デフォルトの名無しさん2006/08/06(日) 18:06:17
向き付けはどうすんのよ?
0568デフォルトの名無しさん2006/08/06(日) 20:54:07
>566
対象が凸多面体で原点を多面体の内部か表面にとればそれは正しい
0569デフォルトの名無しさん2006/08/06(日) 21:45:34
>>568
符号付き、というのはたぶん
原点から見て裏面が見えてるときはマイナスの体積、ということだろうから
そうすると原点に関して星状であるという条件はいらなくなるよ

Aが星状というのは原点とAの任意の点とを結ぶ線分がAに含まれることね
0570デフォルトの名無しさん2006/08/06(日) 23:55:55
あ、ほんとだ
0571デフォルトの名無しさん2006/08/07(月) 12:48:29
NURBS曲面同士の衝突判定がしたいんだけど
便利なライブラリ or 公式とかある?

もしもなかったら、
衝突判定がしやすい曲面の表現方法教えてもらえませんか。
0572デフォルトの名無しさん2006/08/07(月) 21:29:19
どんなものを表現したいのかね
0573デフォルトの名無しさん2006/08/07(月) 21:41:17
NURBSやベジェのように、制御点を移動することで
形状を簡単に変えることができるものであればいいんですが、
球も表現したかったのでNURBSを考えていました。
0574デフォルトの名無しさん2006/08/08(火) 11:21:05
>>571
NURBS曲面かどうか調べてないが、Newtonとか言うGAME向けの物理演算ライブラリがある
0575デフォルトの名無しさん2006/10/01(日) 18:50:02
当選小計率 (数.数%) = 当選小計 ÷ 販売額 × 100倍%
当選口指数 {数.数} = 当選口数 ÷ 販売口数 × 100万倍
http://sea.advenbbs.net/bbs/yybbs.cgi?mode=res&no=1593&id=loto66
0576デフォルトの名無しさん2006/10/04(水) 20:30:01
中学あたりからの学習要綱を網羅した数学ドリルサイトみたいなのないですか?
0577デフォルトの名無しさん2006/10/12(木) 11:02:11
サンプルコードが理解出来ないレベルなら、素直に諦めて勉強し直した方がいい。
0578デフォルトの名無しさん2006/10/12(木) 11:02:53
ゴバーク
0579デフォルトの名無しさん2006/11/03(金) 10:21:15
正射影について教えてください。

マウス(2次元)座標をゲーム画面(3次元)の座標に
変換したいんだけれど、
やり方がわからないです。

[やりたいこと]
大航海時代Onlineのように、
「キャタクターの行先(目的地)」を「地面をマウスクリックする」ことにより
指定し、その後、キャラクターが動き出す。

ということをやりたいと考えています。
0580デフォルトの名無しさん2006/11/03(金) 10:29:29
>>579
DirectXを使っているならDirectX隔離スレへ。
その他3D表示ライブラリを使っているならそれらのスレへ。
そうでないなら自分で勝手に計算汁。
05815792006/11/03(金) 10:37:51
>>580
スレ違いスマソ。
DirectX隔離スレ逝ってきます。
0582デフォルトの名無しさん2006/11/23(木) 14:10:24
グレゴリウスの定義を用いて入力した日が何曜日であるか、を表示するプログラムのアルゴリズムってどんな感じになるかわかりますか?

ちなみに
・グレゴリウスの定義

・西暦1年1月1日は月曜日
・1年365日だが、閏年は366日
・4または400で割り切れる年は閏年
・100で割り切れるのは閏年ではない

もしわかった方いましたらお願いします
0583デフォルトの名無しさん2006/11/23(木) 14:15:04
>>582
C++の擬似コードだと、こんな感じかなぁ・・・

main(){Youbi 曜日; カレンダーを見る(新聞の日付, &曜日);
if (時計の時間<新聞配達時間) 曜日.進める;
return 曜日;}
0584デフォルトの名無しさん2006/11/23(木) 15:01:22
>>582
普通はAPIを使う。
こんな所で質問してる奴が組んだ物は怖くて信用おけないから。

関係無いけど、ANSI C準拠のtime()関数系の1970/01/01 00:00:00からの通算秒で
有効桁31bitの場合は、全部閏年で換算しておk。
0585デフォルトの名無しさん2006/11/23(木) 15:06:49
int zeller(int year, int month, int day)
{
 if (month < 3) {
  year--; month += 12;
 }
 return (year + year / 4 - year / 100 + year / 400 + (13 * month + 8) / 5 + day) % 7;
}
0586デフォルトの名無しさん2006/12/10(日) 12:20:07
ttp://bal4u.dip.jp/mt/program/archives/2005/11/f_millerrabinex.html
にあるprime-test()で多倍長整数の場合、最初に判定を間違える数って何?
0587デフォルトの名無しさん2006/12/10(日) 13:01:52
>>582
マジレスすると西暦1年1月1日にはまだグレゴリオ暦は発明されていなかった罠。
0588デフォルトの名無しさん2006/12/10(日) 15:35:33
>>587
遡及的に定義できる。
0589デフォルトの名無しさん2006/12/10(日) 17:39:40
>>586
ミラーラビンテストでぐぐったら強擬素数ってのが出てきた。
あとは頑張れ。
0590デフォルトの名無しさん2006/12/10(日) 20:48:11
>>586 底を何にするかで変わるから、一般的にパッと見つける方法はない。なので一つ一つ調べなさい。
>>589 強擬素数はフェルマーテスト
0591デフォルトの名無しさん2006/12/11(月) 02:24:03
フェルマーテストで誤判定される数は、擬素数とかカーマイケル数。
適当いったらだめなんじゃね。
0592デフォルトの名無しさん2006/12/17(日) 00:24:50
すいません、スレ違いかも知れませんが
他に適当なスレが見つからなくて。

私は会社の事務員なのですが、
手間のかかる手作業がありまして、パソコンにやらせたいのです。
職場の人員のスキル的に見て、自分でやるしかない状況です。
エクセルのVBAで何度かプログラムを組んだことのあるレベルです。
以下が問題の概要です。

1から100までの整数の並びがある。
そのうちランダムに20個程度の数が欠番となっている。
この状態から、残った数を並べ替え、
隣り合う数同士の差の絶対値が全体でなるべく等しくなるように、
つまり等間隔に並ぶようにしたい。

ここ一ヶ月くらい悩んでみましたが、アイディアが浮かびません。
何か既存のアルゴリズムで、応用できそうなものを紹介してもらえませんか。
0593デフォルトの名無しさん2006/12/17(日) 00:31:57
>>592
判りにくいな。例えば、1, 2, 90, 91があったら1, 90, 2, 91に並べ替えるってことか?
#前者は隣同士の差が1, 88, 1で、後者は89, -88, 89だから後者の方が差の絶対値はほぼ均等になる。
0594デフォルトの名無しさん2006/12/17(日) 00:39:09
>>592
総当りで調べるとかかなぁ。
「隣同士の差」の分散辺りを評価基準にして、全部の組み合わせ試して一番分散の小さいのを選ぶ。
05955922006/12/17(日) 00:52:03
>>593
わかりにくくてすみません。
実例を出すべきでした。
まさに、その後者のように並べたいのです。
今は人間がエクセル上で手作業であれこれと
数値を入れ替えし、納得いく結果になるまで
3日はかかってしまいます。

>>594
分散、とは統計学の用語ですか。
調べてみます。
0596デフォルトの名無しさん2006/12/17(日) 06:08:03
80の総当りだと約10^119通り、3日じゃ終わらん。

単純に、小さい値と大きい値で2つに分けて、ソート後交互に配置じゃだめなん?
0597デフォルトの名無しさん2006/12/17(日) 08:18:01
インターリーブ決定みたいなもんかな。
>596でよさそうだけど。
0598デフォルトの名無しさん2006/12/17(日) 12:29:10
たとえば
 1, 22, 23, 24, 25, 26, ..., 99, 100
というデータに対して>>596をすると
 1, 61, 22, 62, 23, 63, 24, 64, ..., 59, 99, 60, 100
となって、「隣同士の差」のレンジは20にもなってしまう

しかしたとえば
 1, 22, 42, 23, 43, 24, 44, 25, 45, ..., 39, 59, 40, 60, 41, 61,
 81, 100, 80, 99, 79, 98, 78, 97, ..., 64, 84, 63, 83, 62, 82
というほうほうならレンジは2
0599デフォルトの名無しさん2006/12/17(日) 16:18:54
>596
それならソートしただけのデータでもインジャネ?

相対的な距離に関する最適解は総当りじゃないと求まらないんじゃない?
しかも「分散の小さい物」という条件だから足切りも出来ない。
0600デフォルトの名無しさん2006/12/17(日) 22:37:12
判定関数を>>598のいうようなレンジとかにすれば枝切りもできるようになるね
0601デフォルトの名無しさん2006/12/21(木) 21:47:49
RSA暗号を実装しようとしてて、2048ビットの鍵長の元に暗号化・復号を行っています。
整数乗算についてなんですが、2048ビット程度だと、fftかまして乗算しても恩恵はない。
と聞きました。実際のところはどうなんでしょうか?どなたか検証サイトなどご存知ではありませんか?
0602デフォルトの名無しさん2006/12/22(金) 01:05:13
FFTの計算量評価の式から実際に求めるしかないね。
乗算が加算よりどれだけ遅いかも評価に入れなきゃいけないだろうし。
0603デフォルトの名無しさん2006/12/22(金) 01:45:31
FFTの時間は実装レベル次第だから、実際に組んで比較するのが一番。
0604デフォルトの名無しさん2006/12/22(金) 12:31:04
>>601
RSA の乗算+剰余演算の場合、FFT による方法じゃなくて、
Montgomery multiplication っていう高速化手法があるよ。

検証したことはないけど、2048 ビット程度では FFT の効果はない
あるいは逆効果ってのはそうだと思う。
せめて1万ワードくらいの長さはないと。
0605デフォルトの名無しさん2006/12/22(金) 12:37:35
ああ、あと、ワード長が2のべきになってる場合、
上位・下位半分ずつ、再帰的に計算することで
乗算回数減らす方法もある。
下位桁の乗算結果使って、上位桁の乗算をサボる。

昔、RSA のプログラムの最適化の仕事したことあるけど、
「単純に畳み込みで乗算 & 引き放し法的な剰余」を
「再帰乗算 & Montgomery 乗算法」に変えたら
鍵長256bitでも動作速度を250倍以上速くできた。
0606デフォルトの名無しさん2006/12/22(金) 12:41:24
補足:
速度250倍達成は、あと、
バイト単位で多倍長整数演算してたのを、
1ワード32ビット単位に変えたのも含めてだわ。
0607デフォルトの名無しさん2006/12/27(水) 13:26:09
おながいします(´・ω・`)

CADのプログラムですが、CADの掲示板で質問してるけど、3次元の幾何計算の話なので、あまり回答が返ってきません。
誰か助けてぇえええ!!

http://www.mura.sh/bbs/wwwbbs.cgi?print+200612/06120169.txt
0608デフォルトの名無しさん2006/12/27(水) 13:52:38
回答した人に失礼な話だ
0609デフォルトの名無しさん2006/12/27(水) 15:42:41
>608
そうはいってもあそこはCADユーザーの掲示板で、
プログラム関係はほとんどレスがつかないんですよ。(´・ω・`)
餅は餅屋ということで、こっちにも質問してみる。
0610デフォルトの名無しさん2006/12/27(水) 16:54:00
>607,609
マルチポストうぜぇよ。
見たら解答ちゃんと出てんじゃねぇか。
それを理解出来ないお前の頭までは救えねぇよヴォケ。
0611デフォルトの名無しさん2006/12/27(水) 16:58:17
>610
横のソリッドがX軸方向に伸びてるならいい。
しかしそれ以外の方向ならお手上げなんだけど。
0612デフォルトの名無しさん2006/12/27(水) 22:31:43
知らないがそれなら全体に回転行列かけて
回転してX軸に来るようにしたらいいんじゃね
0613デフォルトの名無しさん2007/01/06(土) 04:41:04
保守アゲ
0614デフォルトの名無しさん2007/01/06(土) 18:10:16
二次元のピーク検出のやり方を教えて下さい。

例えば天気図の気圧の図があったとして、
高気圧が何個あって、どの座標に中心があるかを調べたい
というような問題です。
ピークがない場合やたくさんある場合があります。

こういう計算はどういうジャンルの学問になるんでしょうか。
0615デフォルトの名無しさん2007/01/06(土) 21:05:18
山登り法
0616デフォルトの名無しさん2007/01/06(土) 22:14:53
>>615
いいヒントをありがとうございました。
「山登り法」というキーワードでいろいろ探せそうです。
0617デフォルトの名無しさん2007/01/07(日) 22:14:23
多次元の最大値、最小値問題か
0618デフォルトの名無しさん2007/01/07(日) 23:02:49
最大最小というより極値やね
0619デフォルトの名無しさん2007/01/09(火) 11:29:24
z = f(x, y)

∂z
----
∂x


∂z
----
∂y
0620デフォルトの名無しさん2007/01/09(火) 11:36:15
http://www.heisei-u.ac.jp/mi/fukui/pdf/mathtext8.pdf
0621デフォルトの名無しさん2007/01/19(金) 14:01:03
リードソロモン符号でこんなことってできますか?
例えば1MB固定のデータファイルが n個あります。
これに任意の m個のエラー訂正用のファイルを作ります(エラー訂正というより、補完をしたい)。
たとえば、n=8、m=2 で、全部で 10個のファイルを作ります。
この 10個のファイルのうち、どれか n個だけ揃えば元の n個のファイルを復元できる、
みたいなことをやりたいのです。

ここで、n や m の取り方に、なにか制限はあったりするでしょうか?
例えば n は偶数じゃないといけないとか、m は 2のn乗じゃないといけないとか、
そういうなんらかの制限です。
できれば n も m も、その都度自由に設定したいのです。
あと、元データを復元するために必要なファイルの数は、n個だけで充分なのでしょうか。
それとも、n個よりも少し多く必要だったりするでしょうか。

今こんなことをやりたいがためにリードソロモン符号についての勉強を始めたのですが、
今結論だけを端的に知りたいです。
あるいは、他の符号化についての候補などあったら知りたいです。
よろしくです。
0622デフォルトの名無しさん2007/01/19(金) 15:31:54
おれは学生時代、数学をきちんと勉強してなかったので後悔してる…
やっぱりプログラム、コンピュータの基盤となるのは数学だから
数学的な知識があるとないじゃ、雲泥の差だという事を、つくづく思い知らされたよ。
とりあえず、ちょっとでもスキルアップ出来る様に、勉強し直そうと思うよ…
0623デフォルトの名無しさん2007/01/19(金) 16:56:36
最近、分数の割り算をググった事は秘密だ orz
0624デフォルトの名無しさん2007/01/19(金) 17:04:45
>>623
最近は分数が出来ない文系の大学生も多いらしいからねぇ。
書く言うおれも、中学レベルの数学が既にあやしい…orz
0625デフォルトの名無しさん2007/01/19(金) 17:49:25
>624
にほんごもあやしいようだね
0626デフォルトの名無しさん2007/01/19(金) 19:49:50
>>621
Luigi Rizzo氏のHPにReed-Solomon符号を使ったデータ復元プログラムのソースが置いてあったような...
確か、制限はn+m<2^8 またはn+m<2^16。
復元もn+m個中n個を受信すれば大丈夫だったはず。検索して調べてみてください。
06276242007/01/19(金) 21:30:15
>>625
全てを基本からやり直す必要がありそうだ…orz
06286212007/01/20(土) 12:46:41
>>626
情報ありがとうございます。
検索の結果それっぽいページにたどり着いたものの、いかんせん英語が不得手でして・・・
実装例は自分が行き詰ったときに見ることにして、とりあえずやりたいことはできるのだろうということはわかりました。
n+m<2^8 とか n+m<2^16 とかの制限は、多項式の係数を何ビットで計算するかによるのでしょうね。
8bit で計算すればエンディアンの問題が無くて都合が良さそうですが、できるだけ多ビットで計算した方が計算回数が
少なくて高速になりそうですね。
# 実は 8bit しか念頭に置いていませんでしたが、実験として 32bit くらいでやってみようかと思いました
0629デフォルトの名無しさん2007/01/21(日) 23:08:41
当方受験生なのですが、数学出来ません。物理できません。化学の計算できません。
国語や英語はできます。論理性はある方だとは思います。理系の教科は勉強し
ても全然伸びませんでした。理系の科目が出来ないのは、恐らく、数学的思考が出来ていない
為だと思われます。
やってるうちに色々自分の欠点に気づき、その欠点を克服したいと思っています。
プログラミングが数学のスキルアップによいと聞き、それが欠点の克服に繋がると、
思い、やってみたいのですが、なにから始めたら良いでしょうか?
何か他にもアドバイスがあったら教えて下さいませ。
0630デフォルトの名無しさん2007/01/21(日) 23:20:09
LOGO でタートルグラフィックでもやってみてはどうだろう
0631デフォルトの名無しさん2007/01/22(月) 07:54:17
>>629
今受験生ってことは、もう残り1,2ヶ月?
プログラミングに費やす時間あったら、他のことにまわしたほうがいいぞ
長い目で見ればプログラミングに手を出すのも悪いことではないけど、一朝一夕ではどうかなぁ
0632デフォルトの名無しさん2007/01/22(月) 08:05:35
プログラミング自体は文系のひとでもかなり出来るひとはいる

文系か理系かで分けるんじゃなくて
論理的に考えられるかどうかが重要
それが出来ないと何やってもだめ
0633デフォルトの名無しさん2007/01/22(月) 08:17:07
現代のプログラミングは数学のスキルアップにはならない
何を作ろうとしてもライブラリ。
六法全書以上に分厚い資料との格闘。 記憶力や事務処理能力の方が要求される分野かもね

上で出たLOGOやpascalレベルなら別だろうけど、実用プログラミングはね
0634デフォルトの名無しさん2007/01/22(月) 09:46:34
Mathematicaとかならともかく
現代とかどうとか関係なくそもそもプログラミングと数学は全然別物だと思うが
06356292007/01/22(月) 15:01:04
今年は無理なんで、来年受けようと思っています。

このスレの上の方でBASiC等が数学のスキルアップに良い。と書かれてますが、
実際どうなんでしょう?
英語は外人と喋ったり、チャット・メールをして上達しています。
数学も、こんな感じで実用面からアプローチすれば上達するかな?
と、思っています。

>>630  一度調べてみます。有難う御座います。
0636デフォルトの名無しさん2007/01/22(月) 15:17:21
プログラマと数学者との関係をほかのもので例えるとしたら、作家と言語学者は別物というのが近い感じだと思う。
それにいくら外人と話してしても、日常会話は上達するだろうが、英語学者にはなれないだろう。
これも近い例だと思う。
0637デフォルトの名無しさん2007/01/22(月) 15:17:47
>このスレの上の方でBASiC等が数学のスキルアップに良い。と書かれてますが、
どこのこと?
>>135ならセンター試験のプログラムの問題の話だが。

>数学も、こんな感じで実用面からアプローチすれば上達するかな?
プログラミング(の大部分)は高校数学の応用ではない。
確かに数学とプログラミングは関連しているし、考え方も共通性がない訳じゃないけど、
受験勉強としてやるには効率が悪すぎると思う。
現代国語の対策として小説の書き方を勉強するようなものじゃなかろうか。
0638デフォルトの名無しさん2007/01/22(月) 23:20:20
今年のセンター試験のプログラミングは難化したな
片手間でやろうとした奴はそうとう焦っただろ

二分法がどういうものか分かってないと話にならない
まあ数値計算の章では普通に教科書にも出てるから
本当にやってる人ならなんでもなかったのだろうけど

統計の問題もそうだけど今年は「冷やかしお断り」っていう
センターの意図がすごい感じられたよ
0639デフォルトの名無しさん2007/01/22(月) 23:28:19
へー
06406292007/01/23(火) 00:02:36
LOGOやpascalを肯定してる人も居ますが、これはどうなんでしょう?
やはり地道にがんばるのがいいんでしょうか?
何とかして数学的思考を出来る様にならなきゃいけないんですが・・・
0641デフォルトの名無しさん2007/01/23(火) 00:13:28
今の世の中、数学のためにコンピュータがあるのではなく、
コンピュータのために数学を学ばせているような気がする。
0642デフォルトの名無しさん2007/01/23(火) 00:13:44

「数学的思考」についてお前の思うところを述べよ


06436292007/01/23(火) 00:34:40
数学的思考とは、物事を順序立てて考える事であり、具体的な文字を使わず、抽象的な文字を用いる
思考です。又、余計な言葉は入れず必要な事だけを述べて行く・書き下して
行く様にする思考です。
06446292007/01/23(火) 00:36:24
この思考が出来ない事が、数学・物理・化学の計算を出来なくしている大きな要因
だと思っています。
0645デフォルトの名無しさん2007/01/23(火) 01:50:51
具体的なものを使わず、じゃない。
数字や記号や式を具体的なものとして捉える力のほうが大事。
俺の持論だけど。
0646デフォルトの名無しさん2007/01/23(火) 02:41:21
F = ma

なんのことか分からん罠
0647デフォルトの名無しさん2007/01/23(火) 06:25:56
>>643
おまいさんは 脚の総本数 = 4 * 亀の個体数 + 2 * 鶴の個体数 から遣り直した方がいい。
0648デフォルトの名無しさん2007/01/23(火) 07:19:32
ツルとカメと、あわせて8ひきいます。
足の数はぜんぶで、26本。
ツルは何匹、カメは何匹?
0649デフォルトの名無しさん2007/01/23(火) 07:21:05
ttp://www.morinogakko.com/classroom/sansu/bunsyoumondai/turukame/kiso.html
0650デフォルトの名無しさん2007/01/23(火) 07:30:39
http://pc10.2ch.net/test/read.cgi/tech/1169300052/10

【 課題 】プログラミング演習
1)N桁の数字を各桁毎に分解し、その数字の並びの組み合わせで得られる
最大の数から最小の数を引くという演算を、結果が収束または循環するまで繰り返す。

例:
a)1111 のとき 1111 - 1111 = 0 収束
b)2006 のとき 6200 - 0026 = 6174 さらに 7641 - 1467 = 6174 収束

2)上の演算をN桁で構成される全ての数字について行い、
その桁数における収束パターンの一覧を結果として表示する。

例:
N = 4 のとき 1000 〜 9999 までの数字で確認

3)Nを1〜10程度まで可変にしてそれぞれの結果を出力。

【 形態 】Javaアプリケーション
【 GUI  】Swing(CUIでも可)
【 Ver  】1.5以上
【 期限 】月曜17:00
【 補足 】
できれば数字の組み合わせが重複するケースや
計算の途中で既知の値(系列)に到達した場合は
それ以降の計算を省略する等して高速化を図ること
0651デフォルトの名無しさん2007/01/23(火) 23:26:57
>629
受験数学が駄目なのか、微積分とか代数幾何とかの
教科書レベルの基本的概念を掴むところから駄目なのか

想定している大学のレベルはどれくらいか

たとえば、物理の物体の運動を数式の暗記ではなくて、
微積分の概念を用いて理解するなら数値積分の結果を
グラフにしたりするのがよくあるパターンかと思うが、
それならプログラミングなんてする必要はなく、excelで
も十分な罠。
0652デフォルトの名無しさん2007/01/24(水) 02:21:07
>>650
でかい配列作って計算結果の一覧表を作ればおk
06536292007/01/24(水) 22:15:45
>>650 これは私宛てでしょうか?これはいったい何なんでしょうか?

>>651  受験数学は駄目ですね。これは基本概念が掴めていない所為だと
思います。志望は阪大・大阪市立の医学部です。
excelですか。一度調べてみます。有難う御座います。
0654デフォルトの名無しさん2007/01/25(木) 10:38:57
>629
>論理性はある方だとは思います。
>数学的思考が出来ていない
矛盾してないか?
■ このスレッドは過去ログ倉庫に格納されています