#include <iostream> #include <set> using namespace std; long f(long long n) { long r=0; do { r+=((n%10)*(n%10)); n/=10; } while (n > 0); return r; } long long k,a,b,fn,e; int main() { cin >> k >> a >> b; set<long long> ms; for (long long int i01=0;i01<=9;++i01) for (long long int i02=i01;i02<=9;++i02) for (long long int i03=i02;i03<=9;++i03) for (long long int i04=i03;i04<=9;++i04) for (long long int i05=i04;i05<=9;++i05) for (long long int i06=i05;i06<=9;++i06) for (long long int i07=i06;i06<=9;++i06) for (long long int i08=i07;i08<=9;++i08) for (long long int i09=i08;i09<=9;++i09) for (long long int i10=i09;i10<=9;++i10) for (long long int i11=i10;i11<=9;++i11) for (long long int i12=i11;i12<=9;++i12) for (long long int i13=i12;i13<=9;++i13) for (long long int i14=i13;i14<=9;++i14) for (long long int i15=i14;i15<=9;++i15) for (long long int i16=i15;i16<=9;++i16) for (long long int i17=i16;i17<=9;++i17) for (long long int i18=i17;i18<=9;++i18) { fn=i01*i01+i02*i02+i03*i03+i04*i04+i05*i05+i06*i06+i07*i07+i08*i08+i09*i09+i10*i10+i11*i11+i12*i12+i13*i13+i14*i14+i15*i15+i16*i16+i17*i17+i18*i18; e=k*fn; if (a<=e && e<=b && f(e)==fn) ms.insert(e); } cout <<ms.size(); return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | #include <iostream> #include <set> using namespace std; long f(long long n) { long r=0; do { r+=((n%10)*(n%10)); n/=10; } while (n > 0); return r; } long long k,a,b,fn,e; int main() { cin >> k >> a >> b; set<long long> ms; for (long long int i01=0;i01<=9;++i01) for (long long int i02=i01;i02<=9;++i02) for (long long int i03=i02;i03<=9;++i03) for (long long int i04=i03;i04<=9;++i04) for (long long int i05=i04;i05<=9;++i05) for (long long int i06=i05;i06<=9;++i06) for (long long int i07=i06;i06<=9;++i06) for (long long int i08=i07;i08<=9;++i08) for (long long int i09=i08;i09<=9;++i09) for (long long int i10=i09;i10<=9;++i10) for (long long int i11=i10;i11<=9;++i11) for (long long int i12=i11;i12<=9;++i12) for (long long int i13=i12;i13<=9;++i13) for (long long int i14=i13;i14<=9;++i14) for (long long int i15=i14;i15<=9;++i15) for (long long int i16=i15;i16<=9;++i16) for (long long int i17=i16;i17<=9;++i17) for (long long int i18=i17;i18<=9;++i18) { fn=i01*i01+i02*i02+i03*i03+i04*i04+i05*i05+i06*i06+i07*i07+i08*i08+i09*i09+i10*i10+i11*i11+i12*i12+i13*i13+i14*i14+i15*i15+i16*i16+i17*i17+i18*i18; e=k*fn; if (a<=e && e<=b && f(e)==fn) ms.insert(e); } cout <<ms.size(); return 0; } |