кодесурса
«C

Упражнения C: Проверьте Армстронга и идеальные числа

script1adsense2code
script1adsense3code

Функция C: Упражнение 9 с решением

Напишите программу на C, чтобы проверить Армстронга и совершенные числа, используя функцию.

Иллюстрированная презентация:

«C

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

Код C:

#include <stdio.h>
 
int checkArmstrong(int n1);
int checkPerfect(int n1);
 
int main()
{
    int n1;
	printf("\n\n Function : check Armstrong and perfect numbers :\n");
	printf("-----------------------------------------------------\n"); 	
     
    printf(" Input any number: ");
    scanf("%d", &n1);
     
     
    //Calls the isArmstrong() function
    if(checkArmstrong(n1))
    {
        printf(" The %d is an Armstrong number.\n", n1);
    }
    else
    {
        printf(" The %d is not an Armstrong number.\n", n1);
    }
     
    //Calls the checkPerfect() function
    if(checkPerfect(n1))
    {
        printf(" The %d is a Perfect number.\n\n", n1);
    }
    else
    {
        printf(" The %d is not a Perfect number.\n\n", n1);
    }
    return 0;
}
// Checks whether a three digits number is Armstrong number or not. 
//An Armstrong number is an n-digit number that is equal 
//to the sum of the n-th powers of its digits.
int checkArmstrong(int n1) 
{
    int ld, sum, num;
    sum = 0;
    num = n1;
    while(num!=0)  
    {  
        ld = num % 10;  // find the last digit of the number 
        sum += ld * ld * ld;  //calculate the cube of the last digit and adds to sum
        num = num/10;  
    }
    return (n1 == sum);
}
// Checks whether the number is perfect number or not. 
//a perfect number is a positive integer that is equal to 
//the sum of its positive divisors excluding the number itself 
int checkPerfect(int n1) 
{
    int i, sum, num;
    sum = 0;
    num = n1;
    for(i=1; i<num; i++)  
    {  
        /* If i is a divisor of n1 */ 
        if(num%i == 0)  
        {  
            sum += i;  
        }  
    }
    return (n1 == sum);
}

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

 Функция: проверка Армстронга и совершенных чисел:
-------------------------------------------------- ---
 Введите любое число: 371
 371 - это номер Армстронга.
 371 не идеальное число.

Блок - схема:

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

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

Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.

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

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

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


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code