1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Ajuda em em exercicio em linguagem C

Discussão em 'Programação' iniciada por piresd2, 5 de Setembro de 2012. (Respostas: 6; Visualizações: 1169)

  1. Boas pessoal , o exercicio em duvida é este :

    Desenvolva um programa que imprima, em várias linhas, os 25 primeiros múltiplos deum dado número inteiro introduzido pelo utilizador. Cada uma das linhas escritas deve
    conter 5 múltiplos do número especificado.

    o que tenho neste momento é isto:

    #include <stdio.h>


    void main()
    {
    int num,i,j;
    printf("Introduza um numero: ");
    scanf("%d",&num);


    for(i=0;i<25;i++)
    printf("%d ",num*i);


    }

    o que resulta nos primeiros 25 múltiplos na mesma linha. sei que que para quem percebe disto deve ser uma duvida muito básica, mas eu não estou a conseguir , por isso agradecia um empurraozinho, obrigado :)
     
  2. Boas, tu estas a fazer um ciclo em que imprimes a multiplicação do numero introduzido por i que varia de 0 a 24 inclusive. O que tu precisas de fazer é utilizar o operador % (=resto da divisão inteira), para saberes se o numero que estás a testar é ou não múltiplo do numero introduzido. Quanto ao ciclo, se fosse eu fazia um ciclo infinito que parava quando encontra-se o 25º número múltiplo do introduzido.

    Espero ter ajudado...

    Cumps,
     
  3. Sidner

    Sidner Power Member

    Não concordo. Se tu multiplicares um número por 1, 2, 3,... todos os resultados são múltiplos... -_- E como queres os 25 primeiros múltiplos de um número, tens de multiplicá-lo por 1 até 25...

    É o que dá pessoal de electro a responder a perguntas de programação. :P (Just kidding)

    Código:
    int count = 1;
    for(i=1;i<=25;i++) // Nao pus 0 porque não considero muito o 0 como um múltiplo...mas tu é que sabes. Ou vai de 0-24 ou de 1-25.
    {
      printf(" %d ",num*i);
      if(count == 5)
      {
        count = 1;
        printf("\n");
      }
      else
        count++;
    }
    
     
    Última edição: 6 de Setembro de 2012
  4. nfk

    nfk Power Member

    Última edição: 6 de Setembro de 2012
  5. muito obrigado pessoal, ja percebi :)
     
  6. Boas,

    o que tu fizeste (Sidner) está correto, mas o que eu digo em cima também.

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

    for(i=1,count=0;count<25;i++)
    if (i%num==0){
    printf("%d ",i);
    count++;
    if (count%5==0)
    printf("\n");
    }

    Cumps,
     
  7. Sidner

    Sidner Power Member

    Em termos de eficiência, isso é parvo... Já se sabe que os múltiplos são de num em num iterações, no teu caso... Portanto, se n for 100, primeiro que se chegue ao 100*1, vais precisar de 100 iterações do ciclo for já para não falar do if!

    Mas sim, funcionaria...
     

Partilhar esta Página