1. #1

    Registo
    May 2012
    Idade
    29
    Posts
    1

    Question Principiante em C

    Ola galera, por favor me ajudem nessa questão:

    Saiba que o valor aproximado da raiz quadrada de um número real N qualquer pode ser calculado tão precisamente quanto se queira conforme segue:
    R0 = N; R1 = (R0 + N / R0) / 2; R2 = (R1 + N / R1) / 2; R3 = (R2 + N / R2) / 2; …
    Em outras palavras, o primeiro termo da seqüência vale N; todos os demais termos podem ser obtidos pela soma do termo anterior da seqüência com N dividido pelo termo anterior da seqüência.
    Faça um programa em C que solicita a digitação de um número real, calcula pelo método acima exposto sua raiz quadrada, escrevendo-a na tela.
    Naturalmente não poderemos calcular todos os infinitos termos da série acima. Seu programa deverá limitar-se aos 1000 primeiro termos. :P :|

    Obrigado gente.

  2. #2

    Registo
    Dec 2008
    Posts
    12

    Padrão

    Vê este artigo Recursividade

    e procura por mais coisas sobre recursividade, é esse o caminho. Penso que ninguem vai fazer o trabalho de casa por ti ;)

    Abraço e boa sorte

  3. #3

    Registo
    Feb 2008
    Idade
    44
    Posts
    10

    Padrão

    #include <stdio.h>

    int main()
    {
    float num;
    int i,l;
    double r[1000];

    for( l=0; l < 10; l++) {

    printf("\n\nIntroduza um numero positivo: ");
    fflush (stdin);
    int ver = scanf("%f", &num);
    if ( ver < 1 ) {
    printf("\nEsse valor nao é um numero, tente novamente.\n"); return 0;

    }
    if ( num == 0 ) {
    printf("\nA raíz quadrada de 0, é o proprio 0.\n");return 0;
    }
    if ( num < 1 ) {
    printf("\nEsse valor nao é um numero positivo, tente novamente.\n");return 0;
    }
    r[0] = num;
    printf("\n\nO numero é %f ", r[0]);

    for ( i=1; i<=1000; i++) {
    r[i] =(r[i-1]+(num/r[i-1]))/2;
    }
    printf("\n\nA raiz é %.8f ", r[1000]);
    }

    return 0;
    }

  4. #4

    Registo
    Feb 2008
    Idade
    44
    Posts
    10

    Padrão

    #include <stdio.h>

    int main()
    {
    float num;
    int i,l;
    double r[1000];

    for( l=0; l < 10; l++) {

    printf("\n\nIntroduza um numero positivo: ");
    fflush (stdin);
    int ver = scanf("%f", &num);
    if ( ver < 1 ) {
    printf("\nEsse valor nao é um numero, tente novamente.\n"); return 0;

    }
    if ( num == 0 ) {
    printf("\nA raíz quadrada de 0, é o proprio 0.\n");return 0;
    }
    if ( num < 1 ) {
    printf("\nEsse valor nao é um numero positivo, tente novamente.\n");return 0;
    }
    r[0] = num;
    printf("\n\nO numero é %f ", r[0]);

    for ( i=1; i<=1000; i++) {
    r[i] =(r[i-1]+(num/r[i-1]))/2;
    }
    printf("\n\nA raiz é %.8f ", r[1000]);
    }

    return 0;
    }

Tópicos Similares

  1. Dúvidas de principiante
    Por s.fernandes no fórum Electricidade/Electrónica
    Respostas: 0
    Último Post: 30-12-2010, 10:53
  2. Ajuda a principiante
    Por MPedro no fórum Duvidas / Ajuda
    Respostas: 3
    Último Post: 25-11-2008, 21:26
  3. Duvidas de principiante!!!
    Por Patrick no fórum Duvidas / Ajuda
    Respostas: 9
    Último Post: 23-02-2007, 14:20

Tags para este Tópico

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •  

Conectar

Conectar