English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Manual Completo de Programação em C
Neste exemplo, você aprenderá a verificar se um número inteiro é primo ou Armstrong (Armstrongnúmero), ou ambos.
Para entender este exemplo, você deve entender o seguinteProgramação CTema:
Neste programa, crie duas funções definidas pelo usuário checkPrimeNumber() e checkArmstrongNumber().
se o número digitado pelo usuário for um número primo, a função checkPrimeNumber() retornará1。Da mesma forma, se o número digitado pelo usuário for um número Armstrong, a função checkArmstrongNumber() também retornará1。
acesse essas páginas para verificar se há números
#include <math.h> #include <stdio.h> int checkPrimeNumber(int n); int checkArmstrongNumber(int n); int main() { int n, flag; printf("Digite um número inteiro positivo: "); scanf("%d", &n); //verificar se é um número primo flag = checkPrimeNumber(n); if (flag == 1) printf("%d é um número primo.\n", n); else printf("%d não é um número primo.\n", n); //verificar se é um número Armstrong flag = checkArmstrongNumber(n); if (flag == 1) printf("%d é um número Armstrong.", n); else printf("%d não é um número Armstrong.", n); return 0; } // função para verificar se é um número primo int checkPrimeNumber(int n) { int i, flag = 1, squareRoot; //calcular a raiz quadrada squareRoot = sqrt(n); for (i = 2; i <= squareRoot; ++i) { //condição não-prima if (n % i == 0) { flag = 0; break; } } return flag; } // função para verificar se é um número Armstrong int checkArmstrongNumber(int num) { int originalNum, remainder, n = 0, flag; double result = 0.0; // Armazenar 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) { resto = originalNum % 10; // A soma dos potências de cada número armazenado no resultado result +pow(remainder, n); } //Condição do número de Armstrong if (round(result) == num) flag = 1; else flag = 0; return flag; }
Resultado de Saída
Insira um número inteiro positivo: 407 407 Não é um número primo. 407 É um número de Armstrong.