imho.ws |
![]() |
![]() |
![]() |
# 2 |
Junior Member
Регистрация: 11.06.2004
Адрес: Israel
Пол: Male
Сообщения: 119
![]() ![]() |
Автоморфным называется число, которое равно последним цифрам своего квадрата, например 25 (25 * 25 = 625).
#include <iostream> #include <iomanip> #include <math.h> #include <conio.h> #include <windows.h> using namespace std; bool Automorfnoe(long n) { long copy = n; // Берем копию числа n long m = 1; /* Сделаем число m, которое равно степени 10, причем степень равна количеству цифр проверяемого числа n, например для 25 число m = 100 */ do { m *= 10; copy /= 10; } while(copy); if ((n*n % m) == n) /* Берем остаток от деления квадрата числа n на m и получаем число, состоящее из последние цифр квадрата n, количество которых равно количеству цифр исходного числа, сравниваем полученное число c n и возвращаем истину, если числа равны */ return true; else return false; } int main() { if(SetConsoleCP(1251)==0 { cerr<<"Fialed to set codepage!"<<endl; } if(SetConsoleOutputCP(1251)==0) { cerr<<"Failed to set OUTPUT page!"<<endl; } do { long m; cout<< "Задайте целое число "; cin>> m; // Поиск автоморфного числа n, лежащего справа от заданного числа m: long n = m+1; // Берем первое число bool flag = true; while (!Automorfnoe(n)) // пока число не автоморфное { n++; // переходим к следующему числу if (n > 1e5) { flag = FALSE; break;} /* прерываем поиск, если число стало слишком большим, чтобы ограничить время выполнения программы и не выйти за допустимый диапазон чисел */ } if (flag) // флажок, равный true, означает, что число найдено cout<< "Автоморфное число справа - " << n << " : " << n <<" в квадрате = " << n * n << endl; else cout<< "Число не найдено \n"; } while (_getch() != 27); return 0; } добавлено через 2 минуты палиандром найдешь здесь http://www.kursovik.com/programming/180904.html и вообще зачем придумали google... 2 простый поиска и все...
__________________
И дольше века длится день... |
![]() |