рдХрд┐рд╕реА рднреА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рдгрд╛рд▓реА рд╕реЗ рдХрд┐рд╕реА рднреА рд▓рдВрдмреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг

рдмрд╛рдЗрдирд░реА рдШрдбрд╝реА рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдореИрдВрдиреЗ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛, рдФрд░ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рдгрд╛рд▓реА рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдорд╛рдирдХ рдУрдПрд╕ рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рднреА рдмрд╛рдЗрдирд░реА, рдСрдХреНрдЯрд▓, рджрд╢рдорд▓рд╡ рдФрд░ рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рд▓рдВрдмреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдФрд░ рдореБрдЭреЗ рдХреЗрд╡рд▓ рд╕рдВрдЦреНрдпрд╛ > 1000 рд╡рд░реНрдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЗрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рдЫреЛрдЯрд╛ рдХрдВрд╕реЛрд▓ рдХрдирд╡рд░реНрдЯрд░ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЬреЛ рдЖрдкрдХреЛ 2 рд╕реЗ 36 рддрдХ рдХрд┐рд╕реА рднреА рд▓рдВрдмрд╛рдИ рдФрд░ рдХрд┐рд╕реА рднреА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ:

тАв рдХрдирд╡рд░реНрдЯрд░ рдХреЛ рдХрд┐рд╕реА рднреА рд▓рдореНрдмрд╛рдИ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
тАв рдХрдирд╡рд░реНрдЯрд░ рдХреЛ 2 рд╕реЗ 36 рддрдХ рдХрд┐рд╕реА рднреА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
тАв рдХрдирд╡рд░реНрдЯрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди:

рдореИрдВрдиреЗ C ++ рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдореБрдЭреЗ рдЗрд╕ рднрд╛рд╖рд╛ рд╕реЗ рдкреНрдпрд╛рд░ рд╣реИ, рдФрд░ рд╕реНрд░реЛрдд рдХреЛ рд╕реА ++ рд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рднрд╛рд╖рд╛ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд░реНрдЧ рд▓рд┐рдЦрд╛:

class Converter{ private: //    vector<int> a; //   int iriginal; public: //,  2 :   ,    Converter(string str, int original){ this->iriginal = original; //      for ( int i=0; i < str.length(); i++ ){ this->a.push_back(charToInt(str[i])); } } //   ,     -1 int charToInt(char c){ if ( c >= '0' && c <= '9' && (c - '0') < this->iriginal ){ return c - '0'; }else{ if ( c >= 'A' && c <= 'Z' && (c - 'A') < this->iriginal ){ return c - 'A' + 10; }else { return -1; } } } //    char intToChar(int c){ if ( c >= 0 && c <= 9 ){ return c + '0'; }else{ return c + 'A' - 10; } } //        int nextNumber(int final){ int temp = 0; for ( int i = 0; i<this->a.size(); i++){ temp = temp*this->iriginal + this->a[i]; a[i] = temp / final; temp = temp % final; } return temp; } // true -        false    bool zero(){ for ( int i=0; i<this->a.size(); i++ ){ if ( a[i] != 0 ){ return false; } } return true; } //       string convertTo(int final){ vector<int> b; int size = 0; do { b.push_back(this->nextNumber(final)); size++; }while( !this->zero() ); string sTemp=""; for (int i=b.size()-1; i>=0; i--){ sTemp += intToChar(b[i]); } return sTemp; } }; 

рдХреЛрдб рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ
рддрдм рдореИрдВрдиреЗ рдЗрд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛:

 // ,    string inputFile = argv[1]; //   int original = atol(argv[2]); //   int final = atol(argv[3]); //,    string origNumber; ifstream fin(inputFile.c_str()); if ( fin.is_open() ){ fin >> origNumber; }else{ cout << "File " << inputFile << " not open" << endl; //  -   ,       origNumber = inputFile; } fin.close(); Converter conv(origNumber,original); //      ,      if ( argc > 4 ){ //      string outputFile = argv[4]; ofstream fout(outputFile.c_str()); if ( fout.is_open() ){ fout << conv.convertTo(final); }else{ cout << "File " << outputFile << " not create" << endl; cout << conv.convertTo(final) << endl; } }else{ cout << conv.convertTo(final) << endl; } 

рдмреЗрд╢рдХ, рдХреЛрдб рдЖрджрд░реНрд╢ рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд╣реИред
рдЕрдм рдЖрдк рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХрдирд╡рд░реНрдЯрд░ рддреИрдпрд╛рд░ рд╣реИ, рдЕрдм рдпрд╣ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИред рдореИрдВ рдПрдХ рдлрд╛рдЗрд▓ рдмрдирд╛рддрд╛ рд╣реВрдВ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╣рдЬрд╝рд╛рд░ рдиреМ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕рдВрдЦреНрдпрд╛ рд╣реИред
рдореИрдВ рдХрдВрд╕реЛрд▓ рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реВрдВ:
рдХрдВрд╕реЛрд▓ рдореЗрдВ рдХрдирд╡рд░реНрдЯрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ
рдХрдирд╡рд░реНрдЯрд░ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдПрдХ рдЖрдЙрдЯрдкреБрдЯ рдмрдирд╛рддрд╛ рд╣реИред рдПрдХ рдирдВрдмрд░ 3322 рд╡рд░реНрдгреЛрдВ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓рддреА рд╣реИред
рдЕрдм рдореИрдВ рдЗрд╕реЗ рд╕реНрдХреНрд░реАрди рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реВрдВрдЧрд╛, рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП рдлрд╛рдЗрд▓ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
рд╕реНрдХреНрд░реАрди рдкрд░ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ
рдЖрдк рдХрдВрд╕реЛрд▓ рдореЗрдВ рд╕реАрдзреЗ рд╕реЛрд░реНрд╕ рдирдВрдмрд░ рднреА рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рд╕реНрдХреНрд░реАрди 2 рдкрд░ рдкреНрд░рджрд░реНрд╢рди рдкрд░рд┐рдгрд╛рдо

рдирд┐рд╖реНрдХрд░реНрд╖:

рдпрджрд┐ рдЖрдкрдХреЛ рдХреБрдЫ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХрдирд╡рд░реНрдЯрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХрджрдо рд╕рд╣реА рд╣реИред рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреА рдХрдореА рдЖрдкрдХреЛ рд╕рдВрд╢реЛрдзрди рдХреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рднреА рдордВрдЪ рдкрд░ рд▓рд┐рдЦрд┐рдд рдХреЛрдб рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдФрд░ рдЖрдк рдХрдВрд╕реЛрд▓ рдХреЛ рдирд╣реАрдВ рднреВрд▓ рд╕рдХрддреЗ, рдЪрд╛рд╣реЗ рд╡рд╣ рд╡рд┐рдВрдбреЛрдЬ рд╣реЛ рдпрд╛ рд▓рд┐рдирдХреНрд╕ ...
рдкреНрд░реЛрдЬреЗрдХреНрдЯ (VS 2008) рдпрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ ред


Source: https://habr.com/ru/post/In146167/


All Articles