num1 = int(input())
num2 = int(input())
for num in range(num1, num2+1):
if ehPrimo(i):
print i
def ehPrimo(num):
cont = 0
for i in range(1, num+1):
if num % i == 0:
cont += 1
if cont == 2:
return True
return False
Fazer um algoritmo que determine e escreva os números primos compreendidos entre um intervalo fornecido pelo usuário
#include <stdio.h>
int main()
{
int a, b, i, p, n;
scanf("%d%d", &a, &b);
for(i=a;i<=b;i++){
p=0;
n=1;
while(n <= i/2){
if(i%n==0)
p++;
n++;
}
if(p==1)
printf("%d ", i);
}
return 0;
}
O programa inicialmente lê os limites do intervalo, inferior e superior, respectivamente, e para correr o intervalo é utilizada a função for. Dentro dessa função utilizamos um contador para armazenar o número de divisores dos números testados para descobrir se o número é primo.
Sabemos que um número primo possui apenas um divisor além dele mesmo, então caso o contador tenha armazenado um divisor então imprimimos o número pois isso significa que ele é primo, isso porque não precisamos checar todas as divisões, apenas do número até a sua metade. Para correr os divisores foi utilizada a função while.
#include <stdio.h>
int main()
{
int a, b, i, p, n;
scanf("%d%d", &a, &b);
for(i=a;i<=b;i++){
p=0;
n=1;
while(n <= i/2){
if(i%n==0)
p++;
n++;
}
if(p==1)
printf("%d ", i);
}
return 0;
}
O programa inicialmente lê os limites do intervalo, inferior e superior, respectivamente, e para correr o intervalo é utilizada a função for. Dentro dessa função utilizamos um contador para armazenar o número de divisores dos números testados para descobrir se o número é primo.
Sabemos que um número primo possui apenas um divisor além dele mesmo, então caso o contador tenha armazenado um divisor então imprimimos o número pois isso significa que ele é primo, isso porque não precisamos checar todas as divisões, apenas do número até a sua metade. Para correr os divisores foi utilizada a função while.
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar