締切り済みの質問
1人が「このQ&Aが役に立った」と投票しています
回答(2件中 1~2件目)
どのようなものを求めているのかよく分かりませんので,すこし補足要求を.
1.「C言語しかわからない」というのは,「C言語なら友愛数を表示するプログラムが書ける」と「扱える言語がC言語というだけで,C言語でも友愛数を表示するプログラムは書けない」のどちらでしょうか.
2.「ループの仕方がいまいちわからない」というのは,「Mathematicaでループの記法がそもそも分からないだけで,ループの中身のプログラム(ある整数が友愛数であるかどうかを判定するプログラム)は書ける」と「ループの中身のプログラムも書けない」のどちらでしょうか.
ちなみに,ループを使わないで整数のリストに関数を作用させていく方法がMathematica的に「よい」プログラムになるでしょう.1行で書けます.
投稿日時 - 2009-01-31 19:04:05
補足
解答ありがとうございます。
やっと解決しました^-^y質問した身なのでどうせならプログラム載せておきます。最後の1000を変えれば 1~その数値内の友愛数を発見できます。
Do[If[(yakuwa[yakuwa[k]]==k)&&(yakuwa[k]!=k),
Print[{k,yakuwa [k]}]],{k,1,1000];
Printを新たな If文(k<yakuwa[k]の条件)でくくると 表示方法を(小、大)にできます。一度お試しあれw
投稿日時 - 2009-02-01 02:00:33
友愛数が何組あるかは未解決な問題です。
友愛数を求めることのできる完全な関係式は、今のところありません。
ですが、1~1000程度の範囲であれば、220&284のみと解明されていたはずです。
ですので、使用する言語にかかわらず画面に220&284を表示するだけのプログラムになります。
答が既知であるのに、全ての数の約数を求めて総当りで探すような方法を選択するのは馬鹿馬鹿しいことです。
最後に、質問をする前に少しくらいはご自分で調べるべきだと思います。
■友愛数 - Wikipedia
http://ja.wikipedia.org/wiki/%E5%8F%8B%E6%84%9B%E6%95%B0
投稿日時 - 2009-01-31 14:00:26
補足
回答ありがとうごいます。しかしながら事前に調べる事はしましたし、友愛数が1000内に220&284しかないのは理解しています。ただ 範囲を広げてもできるようなプログラムを作るために ループの仕方がいまいちわからないので ここに質問記載させていただきましたm(__)m
下手な 日本語ですいません;;
投稿日時 - 2009-01-31 14:14:34
OKWaveのオススメ
おすすめリンク