「特定の順序で分数を列挙する必要はありません。ループが継続している限り、すべての有理数が最終的に構築されることを確認する必要があるだけです。では、次のようになります。
for i=0 to infinity
for j=1 to i
display i/j
next j
next i
十分に長く待つと、すべての分数が最終的に表示されることがわかるはずです。実際、1/2、2/4 などの同一の項があるため、各分数を無限に生成しています。4/8など..」
出力が 1/2、2/4 などになるのはなぜですか? わかりません :(( この疑似コードを C または C++ 言語に翻訳してください。
#include <stdio.h>
int main()
{
for (int i = 0; i < 100000000000000000; i++) {
for(int j = 1; j < i; j++) {
printf("%f\n", (float)(i/j));
}
}
return 0;
}