кодесурса
«C

C Упражнения: Показать и посчитать количество чисел Lychrel в пределах определенного диапазона.

script1adsense2code
script1adsense3code

Числа C: Упражнение 9 с решением

Напишите программу на C для отображения и подсчета количества чисел Лихрела в пределах определенного диапазона (от 1 до определенного верхнего предела).

Тестовые данные
Введите верхний предел: 1000

Пример решения :

Код C:

# include <stdio.h>
# include <stdbool.h>
# include <stdlib.h>
bool palindrome ( unsigned long long int i );
unsigned long long int reverse ( unsigned long long int i );
bool lychrel ( unsigned long long int i );
int main ( void )
{
	unsigned long long int i=0;
	int count=0,ulmt;
  printf("\n\n Display and count number of Lychrel numbers within a specific range: \n");
  printf(" -------------------------------------------------------------------------\n");
  printf(" Input the upper limit: ");
  scanf("%d",&ulmt);
  	printf("\n The Lychrel numbers are:  \n");
	for(i=1;i<ulmt;i++)
	{
		if(lychrel(i))
		{
		    printf(" %llu ",i);
			count++;
		}
	}
	printf("\n The number of  Lychrel numbers are:  %d\n\n",count);
	return 0;
}
bool lychrel ( unsigned long long int i )
{
	int j; /*iteration counter*/
	bool lychrel = true;
	i = i + reverse ( i );
	for ( j = 1; j <= 30 ; j++ )
	{
		if ( palindrome ( i ) )
		{
			lychrel = false;
			break;
		}
		i = i + reverse ( i );
	}
	return lychrel;
}
unsigned long long int reverse ( unsigned long long int i )
{
	unsigned long long int ret = 0;
	while ( i != 0 )
	{
		ret *= 10;
		ret += i % 10;
		i /= 10;
	}
	return ret;
}
bool palindrome ( unsigned long long int i )
{
	return ( i == reverse ( i ) );
} 

Пример вывода:

 Введите верхний предел: 1000                                                                                  
                                                                                                              
 Числа Lychrel являются:                                                                                     
 196 295 394 493 592 689 691 788 790 879 887 978 986                                              
 Количество чисел Lychrel: 13

Блок - схема:

«Блок-схема:

Редактор кода программирования C:

Внесите свой код и комментарии через Disqus.

Предыдущий: Напишите программу на C, чтобы проверить, является ли число числом Лихреля или нет.
Далее: Напишите программу на C, чтобы сгенерировать и показать первые 15 нарциссических десятичных чисел.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code