Cocoaはじめの一歩というサイトの歩き方です。
Cocoaはじめの一歩にある練習問題を通じでXcodeとobjective-Cになじもうとする企画です。
では練習問題2をやって見ましょう。
この問題はC言語のループ処理をコーディングすることが目的です。
練習問題1と同様に、今まで何かの言語でプログラミングをしたことがあれば、問題なく解答ができると思います。そうでない場合も”C言語”、”ループ処理”でネット検索すればコードの書き方がわかると思います。
ところでべき乗って負の値があることをご存知ですか?
3のべき乗を考えてみましょう。
まずは正の値。
3の1乗=3
3の2乗=3*3=9
3の3乗=3*3*3=27
指数が1増えると数が3倍になっていますね。
3の1乗=3
3の2乗=3の1乗*3=9
3の3乗=3の2乗*3=27
これを逆に考えると、指数が1つ減るとその値は3分の1になると言えます。
3の1乗=3
3の0乗=3の1乗/3=1
3の−1乗=3の0乗/3=1/3
3の−2乗=3の−1乗/3=1/9
3の−3乗=3の−2乗/3=1/27
結果をみると、
nの0乗=1
nのマイナスm乗は、nのm乗の逆数
といえそうですね。
なぜこんなくどい説明をしたかというと、そうですマイナスの指数や0乗をプログラミングしてほしいからです。いろいろなロジックが考えられますがあなた自身で考えてみてください。
もちろんべき乗の基数が0やマイナスの場合も考えてね。
ところで0の0乗や0のマイナスm乗って不定というのが正解らしいのですが、xillionは数列
的に考えて0としました。0のマイナスm乗はゼロ割ではないかって?まあ数列的判断ですから。