- 83 名前:デフォルトの名無しさん [2012/02/07(火) 21:06:50.73 ]
- [1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): 自然数は4個の整数の立方数で表すことができると予想されている。 例えば70=(-21)^3+20^3+11^3、72=4^3+2^3。 このことを1000までの整数に対して確かめるプログラムを作成せよ。 効率よく探索しないとプログラムが停止しないので注意せよ。 [3] 環境 [3.1] OS:Windows7 [3.2] gcc 4.5.3 [3.3] C [4] 2月末まで n = 1..1000 if (n is cubic) n = a^3; end; else _a=-n..n _if(n-a^3 is cubic) n-a^3 = b^3; end; _else __b=-n..a __if(n-a^3-b^3 is cubic) n-a^3-b^3 = c^3; end; __else __c=-n..b ___if(n-a^3-b^3-c^3 is cubic) n-a^3-b^3-c^3 = d^3; end; のような感じにやってみたり総当たり戦くらししか思いつかないのですが どちらもかなり時間が掛かってしまう上、n=31の場合など取りこぼしもしてしまいます 何か効率の良い方法はありませんでしょうか?長文で失礼致します
|

|