English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial Básico de Linguagem C

Controle de fluxo do C

Função do C

Array do C

Ponteiro do C

String do C

Estruturas do C

Arquivos do C

Outros

Manual de referência do C

Programa C para verificar números Armstrong

大全 de exemplos de programação do C

Neste exemplo, você aprenderá a verificar se um número inteiro introduzido pelo usuário é um número Armstrong.

Para entender esse exemplo, você deve saber o seguinteProgramação CTema:

Se um número inteiro positivo satisfizer as seguintes condições, ele é chamado de número Armstrong (de n grau), se

abcd... = an + bn + cn + dn +

Para3dígitos Armstrong, a soma dos cubos de cada dígito é igual ao próprio número. Por exemplo,153É um número Armstrong porque

153 = 1*1*1 + 5*5*5 + 3*3*3

Verificar números Armstrong de três dígitos

#include <stdio.h>
int main() {
    int num, originalNum, remainder, result = 0;
    printf("Digite um inteiro de três dígitos: ");
    scanf("%d", &num);
    originalNum = num;
    while (originalNum != 0) {
       // Resto
        remainder = originalNum % 10;
        
       result += remainder * remainder * remainder;
        
       //Remova o último dígito do número original
       originalNum /= 10;
    }
    if (result == num)
        printf("%d é um número Armstrong.", num);
    else
        printf("%d não é um número Armstrong.", num);
    return 0;
}

Resultado de saída

Digite um inteiro de três dígitos: 371
371 É um número de Armstrong.

Verificar números Armstrong de n dígitos

#include <math.h>
#include <stdio.h>
int main() {
   int num, originalNum, remainder, n = 0;
   float result = 0.0;
   printf("Digite um inteiro: ");
   scanf("%d", &num);
   originalNum = num;
   //Armazena o número de dígitos de num em n
   for (originalNum = num; originalNum != 0; ++n) {
       originalNum /= 10;
   }
   for (originalNum = num; originalNum != 0; originalNum /= 10) {
       remainder = originalNum % 10;
      // armazena a soma dos potências de cada dígito do resultado
      result += pow(remainder, n);
   }
   // Se num for igual a result, então esse número é um número Armstrong
   if ((int)result == num)
    printf("%d é um número Armstrong.", num);
   else
    printf("%d não é um número Armstrong.", num);
   return 0;
}

Resultado de saída

Insira um inteiro: 1634
1634 É um número de Armstrong.

Neste programa, primeiramente, calcula o número de dígitos de um inteiro e armazena em n. E a função pow() é usada para calcular a potência de cada dígito na cada iteração do segundo loop for.

大全 de exemplos de programação do C