imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 21.03.2009, 19:02     # 1
vzik
Guest
 
Сообщения: n/a

С++ Помогите решить 2 задачи!

1.Дано натуральное число Н. Определить является ли оно автоморфным.
2. Дано четырехзначное число Н. Определить является ли оно палиандром.
Заранее спасибо!!!
 
Старый 23.03.2009, 19:47     # 2
AcraL
Junior Member
 
Аватар для AcraL
 
Регистрация: 11.06.2004
Адрес: Israel
Пол: Male
Сообщения: 119

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

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


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




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