Advertisement
anticlown

laba.2.2(C++)

Dec 22nd, 2022
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.66 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. const int MAX_ARRAY_SIZE = 100;
  4.  
  5. void outputTaskInfo() {
  6.   std::cout << "Данная программа находит наименьшее натуральное n по следующему правилу: \n";
  7.   std::cout << "Если последнюю цифру некоторого натурального числа n перенести и \n";
  8.   std::cout << "поставить перед первой цифрой этого числа, то получится число, в два раза
  9.                больше n. \n";
  10. }
  11.  
  12. void findMinimalNumber(int number[]) {
  13.   const int FACTOR = 2;
  14.   int count = 0;
  15.   int addition = 0;
  16.   int flagIsCorrect = 0;
  17.   int currentNumber = 2;
  18.  
  19.   while (flagIsCorrect < 1)
  20.   {
  21.     count++;
  22.     currentNumber *= FACTOR;
  23.     currentNumber += addition;
  24.  
  25.     if (currentNumber < 10)
  26.       addition = 0;
  27.     else
  28.     {
  29.       currentNumber -= 10;
  30.       addition = 1;
  31.     }
  32.  
  33.     number[count] = currentNumber;
  34.  
  35.     if (currentNumber == 2 && addition == 0)
  36.       flagIsCorrect++;
  37.   }
  38.  
  39. }
  40.  
  41. void outputResult(int number[]) {
  42.   int count;
  43.   int flagIsCorrect = 0;
  44.   int i = MAX_ARRAY_SIZE - 1;
  45.   std::cout << "Самым малым натуральным n является: ";
  46.  
  47.   while (flagIsCorrect < 1)
  48.   {
  49.     if (number[i] > 0)
  50.     {
  51.       flagIsCorrect++;
  52.       count = i;
  53.     }
  54.     else
  55.       i--;
  56.   }
  57.  
  58.  
  59.  
  60.  
  61.   for (i = count; i > 0; i--)
  62.     std::cout << number[i];
  63. }
  64.  
  65. int main() {
  66.  
  67.   int* number = new int[MAX_ARRAY_SIZE];
  68.   setlocale(LC_ALL, "Rus");
  69.  
  70.   outputTaskInfo();
  71.   findMinimalNumber(number);
  72.   outputResult(number);
  73.  
  74.   delete[] number;
  75.  
  76.   return 0;
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement