Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.07.2012, 03:37   #1
melafan
Новичок
Джуниор
 
Регистрация: 16.05.2012
Сообщений: 1
Вопрос Автоморфные числа

Здравствуйте. Изучаю C++. Пишу программу которая находит все автоморфные числа меньшие N.
Автоморфное число на wiki

Суть вопроса: программа не выводит результат.

Код:
#include <iostream>
using namespace std;

int get_num_of_digits(int);
int ten(int);
/************************************/
//////////////MAIN////////////////////
int main()
{
	int n;
	cout << "Hello!\nEnter N:";
	cin >> n;
	cout << "Automorphics number: ";



	for(int i = 1; i < n; ++i)
	{	
		int num_digits = get_num_of_digits(i);
		int dec = ten(num_digits);
		if(i == (i^2)%(dec))
			cout << i << " ";
	}

	cout << "\n";
	return 0;
}
/*****************************************/
//////////////NUM OF DIGITS////////////////
int get_num_of_digits(int num)
{
	int digits = 0;
	int temp = num;
	while(temp != 0)
	{
		temp =temp/10;
		++digits;
	}
	return digits;
}
/******************************************/
/////////////DEC//////////////
int ten(int num_digits)
{
	int ten = 1;
	for(int k = 0; k < num_digits; k++) 
	{
		ten *= 10;
	}
	return ten;
}
/****************************************/
melafan вне форума Ответить с цитированием
Старый 09.07.2012, 08:50   #2
ElectroMent
Пользователь
 
Регистрация: 28.12.2011
Сообщений: 27
По умолчанию

Условие не правильное.
Код:
if(i == (i^2)%(dec))
Операция
Код:
i^2
не равно
Код:
i*i
. Первое - исключающее ИЛИ, второе - квадрат числа.

Замени условие на
Код:
if(i == (i*i)%(dec))
будет работать. НА будущее, степень числа определяется функций pow

Последний раз редактировалось ElectroMent; 09.07.2012 в 08:53.
ElectroMent вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачи в ТурбоПаскаль: найти числа Армстронга и просуммировать числа в последовательности номера которых простые числа Lena1808 Помощь студентам 1 17.05.2012 08:00
Задані цілі числа від 1 до 100.Надрукувати в порядку зростання усі числа що можна подати у вигляді 7*i*j+j+3, де i,j - цілі числа. Саша513 Паскаль, Turbo Pascal, PascalABC.NET 0 16.05.2012 18:45
Даны натуральные числа n и m. Получить сумму m последних цифр числа n pahanzona Microsoft Office Excel 11 27.02.2011 02:17
Вычислить:у=а*(в*в*в)*с,где а,в,с-двоичные числа.Для хранения числа использ.массив! Таняпервокурсница Помощь студентам 4 04.06.2010 12:08
ДАНЫ 4 ЧИСЛА X Y Z W составит программу найти произведение все положительные нечетные числа Woland-itn Паскаль, Turbo Pascal, PascalABC.NET 3 23.03.2008 21:49