中国の数学の歴史には、「韓信が兵士を命じた」という話が広く流布しています。韓信は漢王朝の祖先である劉邦の将軍でした。韓信の数学的レベルも非常に良いと言われています。兵士に命じたとき、兵士の数を知り、同時に軍の秘密を守るために、彼は兵士に列を作って報告するように頼みました。数:
- 1から5までの番号を報告し、最後の兵士によって報告された番号を1として書き留めます。
- 次に、1から6を押して番号を報告し、最後の兵士によって報告された番号が5であることに注意してください。
- 次に、1から7を押して番号を報告し、最後の兵士によって報告された番号が4であることに注意してください。
- 最後に、1から11までの数を報告し、最後の兵士によって報告された数は10です。
韓信が少なくとも何人の兵士を持っているかを計算するプログラムを作成してください。
入力フォーマット:
この質問への入力はありません
出力フォーマット:
韓信が少なくとも持っている兵士の数をエクスポートします。
コード:
# include <stdio.h>
# include <stdlib.h>
int main() {
int value,i = 10;
while (i > 1) {
if (i % 5 == 1 && i % 6 == 5 && i % 7 == 4 && i % 11 == 10) {
printf("%d",i);
break;
}
i += 1;
}
return 0;
}
スクリーンショットを送信:
問題解決のアイデア:
面白い!while
もちろん、この質問はループを使うのに適していますが、for
大きな問題ではありません。主な理由は、質問の意味が明らかにあるという取余
操作を理解することです。これにより、プログラムをすばやく作成できます。