Ir ao conteúdo

Posts recomendados

Postado

Gente estou começando o curso de analise de sistemas e já tenho um dever pa casa que não estou conseguindo fazer, sei que poder ser basico mais eu não sei, num consigo fazer a logica.

Eis o problema

Faça um programa em linguagem C que receba n numeros naturais entre 1 e 100 e exiba todos os valores primos.

Gente o maximo que consegui foi isso mais não compila....



#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{

int indx, indx1, n=1;

for (indx=1;indx<=100;indx++){
n++;


for(indx1=2; indx1<=(int)(n/2); indx1++){
if((n%indx1)==0){
printf("\n%i not primo", n);
break;
}


}

if((n%indx1)==1){
printf("\n%i numero primo", n);
}
}
return 0;
}

  • Curtir 1
Postado

Seu código esta um pouco errado, mas com tempo você aprende, o código abaixo esta correto mas tente entender não só copie, se tiver dúvidas é só perguntar.

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
int n, num, k, primo;

for(n=1; n<=100; n++)
{
scanf("%d",&num);
system ("cls");
primo=0;
for(k=1; k<=num; k++)
if((num%k)==0)
primo++;
if(primo>2)
printf("%d nao e primo\n", num);

else
printf("%d e primo\n", num);
}
}

  • Curtir 1
Postado

Amigo você poderia me explicar a variavel (num), pelo que eu vi ela não tem nenhum valor, e não é incrmentada...então ela é zero...

isso que não estou intendenu....

ajuda ai

no meu aqui ele nem roda...num sei o porque....acho que é por causa desse scan no começo

esquece rodou sim....

ja entendi o num eu so digitar...

mais queria que ele analizasse o numero do 1 ao 100 automatico....

for(num=0;num<100;num++) ou num ++;

heim heim

Postado

Veja bem no algoritmo anterior o scanf pega os valores vindo do teclado, mas como seu enunciado especifica um intervalo de 1 a 100, o algoritmo ficaria assim:

#include <stdio.h>
#include <stdlib.h>

int main(){
int n, k, primo;

for(n=1; n<=100; n++){
primo=0;
for(k=1; k<=n; k++)
if((n%k)==0)
primo++;
if(primo>2)
printf("%d nao e primo\n", n);
else
printf("%d e primo\n", n);
}
return 0;
}

O 1º laço especificara o intervalo de 1 a 100 que será a quantidade de números.

O 2º laço conta o numero de divisões exata que um número(n) possui.

Obs: Um número primo possui apenas duas divisões exata, divisão por 1 e por ele mesmo, com exceção do número 1.

Ex:

n=1

1%1==0 primo

n=2

2%1==0, 2%2==0 primo

n=3

3%1==0, 3%2!=0, 3%3==0 primo;

n=4

4%1==0, 4%2==0, 4%3!=0 4%4==0 não é primo;

E assim em diante.

  • Curtir 1
  • Membro VIP
Postado

Você pode melhorar e muito sua lógica. Ao invés de fazer o que você fez, sugiro você testar se os números são múltiplos de 2, 3, 5, 7.

Att,

Plateu!

  • Curtir 1
  • 6 anos depois...
  • 4 meses depois...
Postado

Eu não fiz ciência da computação, então não sei com que programa eu abro este tipo de arquivo (C, C++, C#) alguém me da uma luz?

  • Curtir 2
Postado
1 hora atrás, Xacarami disse:

Eu não fiz ciência da computação, então não sei com que programa eu abro este tipo de arquivo (C, C++, C#) alguém me da uma luz?

 

Há varias IDE's, como: Codebloks, Dev++, Netbens, ...

 

É possível também rodar online através de: CodeChef IDE, CodePad, Ideone, OnlineCompiler, ...

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!