Bóson Treinamentos em Ciência e Tecnologia

Programa para determinar se um número é primo em C

Calcular números primos em linguagem C

Como determinar se um número é primo em C

Olá pessoal!

Seguindo com nossa série de códigos de exemplo para estudo da linguagem C, vamos ver um pequeno programa que permite descobrir se um número dado é primo ou não.

Como sabemos, um número é primo se ele for divisível (divisão inteira) apenas por si mesmo e por 1. Por exemplo:

Então, para determinarmos se um dado número é primo, precisamos verificar sua divisibilidade inteira. Para isso, podemos realizar divisões sucessivas do número dado por todos os números a partir de 2 até a metade dele próprio, verificando o resto da divisão. Se o resto for 0 em algum momento, significa que houve uma divisão inteira por um valor diferente de 1 e do número em si, e o número não é primo. Caso contrário, se o resto for diferente de 0 em todas as divisões, o número é primo.

A seguir, temos o código em C que implementa essa função:

Código

#include<stdio.h>
#include <locale.h>
 
int main() {
 setlocale(LC_ALL, "");
 int num, i, resultado = 0;
 
 printf("Digite um número: ");
 scanf("%d", &num);
 
 for (i = 2; i <= num / 2; i++) {
    if (num % i == 0) {
       resultado++;
       break;
    }
 }
 
 if (resultado == 0)
    printf("%d é um número primo\n", num);
 else
    printf("%d não é um número primo\n", num);
 
 return 0;
}

Neste programa simples, declaramos três variáveis: num, i e resultado, que serão usadas para receber o número digitado pelo usuário, contador no processo de verificação de número primo, e para receber o resultado do cálculo, respectivamente.

Usamos as instruções #include <locale.h> e setlocale(LC_ALL,” “) para oferecer suporte ao idioma português na aplicação, de modo a exibir corretamente caracteres especiais e acentuados. Mas ela não é essencial para a execução da aplicação.

A figura a seguir mostra a execução do programa, verificando se um número é primo ou não:

É isso aí pessoal!

Até o próximo tutorial!

Recomendado: Arrays em C – Declaração, Inicialização e Atribuição de valores

 

Sair da versão mobile