Write a program in C to find Disarium numbers between 1 to 1000

  • برمجة سي c
  • برمجة

Try to write a program in C to find Disarium numbers between 1 to 1000

Sample Output:

 The Disarium numbers are:                                                                                    
1 2 3 4 5 6 7 8 9 89 135 175 518 598

الأجوبة

# include <stdio.h>
# include <math.h>
# include <stdlib.h>
# include <stdbool.h>


int DigiCount(int n)
{
    int ctr_digi = 0;
    int tmpx = n;
    while (tmpx)
    {
        tmpx = tmpx/10;
 
        ctr_digi++;
    }
    return ctr_digi;
}
bool chkDisarum(int n)
{
    int ctr_digi = DigiCount(n);
    int s = 0; 
    int x = n;
    int pr;
    while (x)
    {
        pr = x % 10;
        s = s + pow(pr, ctr_digi--);
        x = x/10;
    }
    return (s == n);
}
int main()
{

int i;
	printf("\n\n Find Disarium Numbers between 1 to 1000: \n");
	printf(" ---------------------------------------------\n");
	printf(" The Disarium numbers are: \n");
for(i=1;i<=1000;i++)
{
    if( chkDisarum(i))
		printf("%d ",i); 
}	
		printf("\n");
}
هل كان المحتوى مفيد؟

تبحث عن مدرس اونلاين؟

محتاج مساعدة باختيار المدرس الافضل؟ تواصل مع فريقنا الان لمساعدتك بتأمين افضل مدرس
ماهو التخصص الذي تبحث عنه؟
اكتب هنا...