• ベストアンサー

数的処理なんですが、

 この問題の教えて下さい。  7で割ると2余り、13で割ると11余る正の整数で 3桁の数はいくつあるか。

質問者が選んだベストアンサー

  • ベストアンサー
  • tnt
  • ベストアンサー率40% (1358/3355)
回答No.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個あることがわかります。

obs96
質問者

お礼

ふむふむ。よくわかりました。 初期値128に13と11の公倍数を足していったもの と考えればよかったのです。 (強引に13の倍数に11足していったもの と7の倍数に2足していったものを書き出して みたんですが、37で断念して、どうしようかな・・・ そこから、公倍数で考えればよかったんですね。)

その他の回答 (1)

  • ShaneOMac
  • ベストアンサー率39% (356/898)
回答No.1

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; } ってこういうのはダメかな?

obs96
質問者

お礼

上のtntさんの回答と照らし合わせてみると まさにそのとおりですね。 128に公倍数の91を足していったものが 答えになるわけですね。 考えた方と実際の数字で見てみると、 納得しました。 どうもありがとーございました。 関係ないですけど、私の質問のカテゴリーが  「 E-Mail」になってますね。失礼しました。 それにも関わらず、お二方にこんなに早く 回答していただいてありがとーございました。

関連するQ&A