数字和を求めるには、渡された数字の桁数を取得して、さらに各桁の数字を取り出すという処理が必要です。VBA で「取り出す」といえば、あの関数です。
を使って、引数に受け取った数字 の桁数を調べることができます。Len関数の引数には文字列を指定することなっていますが、数値を入力しても自動的に文字列型に変換されるので問題ありません。ただし引数の型は宣言しないように(つまり Variant型に)しておく必要があります。
ある文字列から特定の文字を取り出すときは Mid関数を使います。
と入力すると が返ってきます。VBE のイミディエイトウィンドウで確認する場合は次のコードを入力してください。
(1) 以下の自然数で、各桁を 乗した数の和がもとの数と等しくなる数を出力する Functionプロシージャ(ユーザー定義関数)をつくってください。関数名は DigitPowerSum 乗した数の和がもとの数と等しくなるような 以下の自然数をすべて求めてください。
(1) 乗した数を足し合わせていきます。
(2) DigitPowerSum(k, と比較して、一致していれば表示するようなプログラムを書きます。
となります。以下同様にして、x まで調べれば、互いに素となる組をすべて見つけることができます。