Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- const int MAX_ARRAY_SIZE = 100;
- void outputTaskInfo() {
- std::cout << "Данная программа находит наименьшее натуральное n по следующему правилу: \n";
- std::cout << "Если последнюю цифру некоторого натурального числа n перенести и \n";
- std::cout << "поставить перед первой цифрой этого числа, то получится число, в два раза
- больше n. \n";
- }
- void findMinimalNumber(int number[]) {
- const int FACTOR = 2;
- int count = 0;
- int addition = 0;
- int flagIsCorrect = 0;
- int currentNumber = 2;
- while (flagIsCorrect < 1)
- {
- count++;
- currentNumber *= FACTOR;
- currentNumber += addition;
- if (currentNumber < 10)
- addition = 0;
- else
- {
- currentNumber -= 10;
- addition = 1;
- }
- number[count] = currentNumber;
- if (currentNumber == 2 && addition == 0)
- flagIsCorrect++;
- }
- }
- void outputResult(int number[]) {
- int count;
- int flagIsCorrect = 0;
- int i = MAX_ARRAY_SIZE - 1;
- std::cout << "Самым малым натуральным n является: ";
- while (flagIsCorrect < 1)
- {
- if (number[i] > 0)
- {
- flagIsCorrect++;
- count = i;
- }
- else
- i--;
- }
- for (i = count; i > 0; i--)
- std::cout << number[i];
- }
- int main() {
- int* number = new int[MAX_ARRAY_SIZE];
- setlocale(LC_ALL, "Rus");
- outputTaskInfo();
- findMinimalNumber(number);
- outputResult(number);
- delete[] number;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement