Exercício de Algoritmo, me ajuda?
Não usar vetor. Estrutura de repetição.
1. Um número é, por definição, primo se ele não tem divisores, exceto 1 e ele próprio. Prepare um algoritmo para ler um número inteiro positivo e determinar se ele é ou não um número primo.
feperessim:
O algoritmo teria que ser escrito em alguma linguagem de programaçao?
Soluções para a tarefa
Respondido por
2
#include <stdio.h>
int main(void)
{
int n;
int divisores;
scanf("%d", &n);
if (n < 2) {
printf("%d nao e primo", n);
return 0;
}
for (divisores = n-1; divisores > 1; divisores--) {
if (n % divisores == 0) {
printf("%d nao e divisor", n);
return 0;
}
}
printf("%d e primo\n", n);
return 0;
}
Nós temos duas variáveis no programa n e divisores, o usuário passa o número que ele quer testar para saber se é primo ou não.
Após o programa receber esse número fazemos um teste para saber se o numero dado pelo usuário é menor que 2 se for menor que 2 o número não é primo então o programa retorna zero para o sistema operacional e o programa acaba ali. caso contrário inicia-se o laço for.
Como nós sabemos que todo número é divisível por 1 e por ele mesmo então não precisamos perder tempo fazendo esse teste, então iniciamos a variável divisores com o valor de
n - 1; testamos se esse valor é maior do que 1 então o laço inicia dentro do laço o programa testa se n é divisível por divisores , caso seja então sabemos que o número não é primo, nesse caso o programa retorna 0 para o sistema operacional e o programa acaba ali. Caso contrário se nenhum número for divisor então nós sabemos que o número realmente é apenas divisível por 1 e por ele mesmo, então nós temos um número primo. O número e a mensagem de que ele é primo é mostrada na tela, o programa retorna 0 para o sistema operacional e o programa termina.
Um exemplo de como o programa funciona para n = 5;
n é maior que 2 então o laço inicia, divisores é igual a 5 - 1;
Então a cada iteração nós testamos se a divisão de 5 por n -1 é zero.
E a cada iteração o valor de divisores é decrementado até que o valor seja igual a 1 ai nesse caso o laço é terminado.
5 % 4 == 1;
5 % 3 == 1
5 % 2 == 1;
fim.
Temos um número primo.
Espero que você consiga entender com o meu exemplo, se precisar de mais detalhes é só dizer.
int main(void)
{
int n;
int divisores;
scanf("%d", &n);
if (n < 2) {
printf("%d nao e primo", n);
return 0;
}
for (divisores = n-1; divisores > 1; divisores--) {
if (n % divisores == 0) {
printf("%d nao e divisor", n);
return 0;
}
}
printf("%d e primo\n", n);
return 0;
}
Nós temos duas variáveis no programa n e divisores, o usuário passa o número que ele quer testar para saber se é primo ou não.
Após o programa receber esse número fazemos um teste para saber se o numero dado pelo usuário é menor que 2 se for menor que 2 o número não é primo então o programa retorna zero para o sistema operacional e o programa acaba ali. caso contrário inicia-se o laço for.
Como nós sabemos que todo número é divisível por 1 e por ele mesmo então não precisamos perder tempo fazendo esse teste, então iniciamos a variável divisores com o valor de
n - 1; testamos se esse valor é maior do que 1 então o laço inicia dentro do laço o programa testa se n é divisível por divisores , caso seja então sabemos que o número não é primo, nesse caso o programa retorna 0 para o sistema operacional e o programa acaba ali. Caso contrário se nenhum número for divisor então nós sabemos que o número realmente é apenas divisível por 1 e por ele mesmo, então nós temos um número primo. O número e a mensagem de que ele é primo é mostrada na tela, o programa retorna 0 para o sistema operacional e o programa termina.
Um exemplo de como o programa funciona para n = 5;
n é maior que 2 então o laço inicia, divisores é igual a 5 - 1;
Então a cada iteração nós testamos se a divisão de 5 por n -1 é zero.
E a cada iteração o valor de divisores é decrementado até que o valor seja igual a 1 ai nesse caso o laço é terminado.
5 % 4 == 1;
5 % 3 == 1
5 % 2 == 1;
fim.
Temos um número primo.
Espero que você consiga entender com o meu exemplo, se precisar de mais detalhes é só dizer.
Perguntas interessantes
Sociologia,
8 meses atrás
Geografia,
8 meses atrás
Biologia,
1 ano atrás
Pedagogia,
1 ano atrás
Matemática,
1 ano atrás
História,
1 ano atrás
Matemática,
1 ano atrás