- ベストアンサー
数的処理なんですが、
この問題の教えて下さい。 7で割ると2余り、13で割ると11余る正の整数で 3桁の数はいくつあるか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
13で割ると11余る ということは、 13の倍数+11が求める数字の候補となります。 また、7で割ると2余るということは 求める数字は13と7の公倍数の周期をもつことに なります。(互いに素ですから) つまり、間隔は91です。 次に3桁ということですが、 題意より、x=13*m+11、x=7*n+2となりますが(m、nは任意の整数) これより、m=(7n-9)/13が得られます。 で、m,nは整数ですから7n-9が13の倍数となる必要があり、 初期値はn=17となります。 この時、求める数字は128です。 以後、128+(k*91)<1000 となる最小、最大のkを求めると kは0~9となり、求める数字は10個あることがわかります。
その他の回答 (1)
- ShaneOMac
- ベストアンサー率39% (356/898)
128 219 310 401 492 583 674 765 856 947 #include <stdio.h> main(){ for(int i = 100; i < 1000;i++){ if(i%7==2&&i%13==11){ printf("%d\n",i); } } return 0; } ってこういうのはダメかな?
お礼
上のtntさんの回答と照らし合わせてみると まさにそのとおりですね。 128に公倍数の91を足していったものが 答えになるわけですね。 考えた方と実際の数字で見てみると、 納得しました。 どうもありがとーございました。 関係ないですけど、私の質問のカテゴリーが 「 E-Mail」になってますね。失礼しました。 それにも関わらず、お二方にこんなに早く 回答していただいてありがとーございました。
お礼
ふむふむ。よくわかりました。 初期値128に13と11の公倍数を足していったもの と考えればよかったのです。 (強引に13の倍数に11足していったもの と7の倍数に2足していったものを書き出して みたんですが、37で断念して、どうしようかな・・・ そこから、公倍数で考えればよかったんですね。)