IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Программирование (http://www.imho.ws/forumdisplay.php?f=40)
-   -   С++ Помогите решить 2 задачи! (http://www.imho.ws/showthread.php?t=138776)

vzik 21.03.2009 19:02

С++ Помогите решить 2 задачи!
 
1.Дано натуральное число Н. Определить является ли оно автоморфным.
2. Дано четырехзначное число Н. Определить является ли оно палиандром.
Заранее спасибо!!!

AcraL 23.03.2009 19:47

Автоморфным называется число, которое равно последним цифрам своего квадрата, например 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 простый поиска и все...


Часовой пояс GMT +4, время: 15:21.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.