Ir ao conteúdo

Posts recomendados

Postado

Oi, você poderia explicar a função da linha 6 até a 19.E, se for possível, fazer parte do código de uma forma mais simplória?

 

#include <stdio.h>
int main() {
    int num, i;
    scanf("%d", &num);
    
    int naoehprimo(int num) {
    int i;

    // 1 não é primo
    if(num == 1) return 1;

    // se num for divisível por qualquer numero entre 2 e num-1, retorna 1
    for (i = 2; i < num; i++) {
        if (num % i == 0) return 1;
    }

    // se ainda nao retornou nada, não é 1 e não foi divisivel por nenhum numero entre 2 e num-1, então retorna 0
    return 0;
}

    for (i = 1; i <= num; i++) {
        if (naoehprimo(i)) {
            printf("%d ", i);
        }
    }

    return 0;
}

 

  • Curtir 1
Postado

Segue o código reorganizado e corretamente indentado para facilitar entendimento:

#include <stdio.h>

int naoehprimo(int num) {
    int i;

    // 1 não é primo
    if (num == 1) {
        return 1;
    }

    // se num for divisível por qualquer numero entre 2 e num-1, retorna 1
    for (i = 2; i < num; i++) {
        if (num % i == 0) {
            return 1;
        }
    }

    // se ainda nao retornou nada, não é 1 e não foi divisivel por nenhum numero entre 2 e num-1, então retorna 0
    return 0;
}

int main() {
    int num, i;
    scanf("%d", & num);

    for (i = 1; i <= num; i++) {
        if (naoehprimo(i)) {
            printf("%d ", i);
        }
    }

    return 0;
}

 

  • Curtir 2
Postado
1 minuto atrás, isrnick disse:

int naoehprimo(int num) {
    int i;

    // 1 não é primo
    if (num == 1) {
        return 1;
    }

    // se num for divisível por qualquer numero entre 2 e num-1, retorna 1
    for (i = 2; i < num; i++) {
        if (num % i == 0) {
            return 1;
        }
    }

    // se ainda nao retornou nada, não é 1 e não foi divisivel por nenhum numero entre 2 e num-1, então retorna 0
    return 0;
}

 

 

Como essa parte do código funciona, principalmente, naoehprimo(int num) e o return 1

  • Curtir 1
Postado

Isto:

int naoehprimo(int num) {

 

é o cabeçalho/protótipo da função naoehprimo(), int num é o parâmetro desta função, indicando que deve ser passado um número inteiro na chamada desta função, e o int no começo da linha indica que quando a função for finalizada ela deverá retornar (usando a palavra chave return) um valor inteiro para o escopo que a chamou.

 

O nome da função indica o que ela faz, ou seja checa se o número passado como parâmetro não é primo. No C o valor 0 é igual a FALSO e qualquer valor diferente de 0 é igual a VERDADEIRO. Então se a função retornar 1 (que é diferente de 0) é sinônimo de retornar VERDADEIRO, ou seja nesse caso o número não é primo, mas se retornar 0 estará retornado FALSO indicando que o número é sim primo.

  • Curtir 2
Postado

@programadornovatoc      na linguagem  c  todos os código precisam usar a função int main{ } com essas duas chaves , e as outras  funções ficam antes da função main , mas podem ficar depois da função main também  , e para isso precisa criar o protótipo dessa função , e isso significa colocar o tipo e o nome da função lá antes da função main , mas as funções não podem ficar dentro da função main  , e esse código está imprimindo os números que não são primos , lá na função naoehprimo ela recebe , por parâmetro , um numero digitado pelo usuário que na chamada da função é enviado para aquela função , onde é verificado se ele é primo , e se não for então retorna o valor 1 " return 1 " ,  ou se for primo , nesse caso retorna zero " return 0 " ,  para que quando voltar da função naoehprimo para dentro da função main , seja impresso os números que não são primos  .

  • Curtir 2

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!