Guest - Mucosa - Posted July 2, 2004 Report Share Posted July 2, 2004 ola pessoa !!! Quero saber como faço para calcular a raiz quadrada em C, mas não posso usar a função da linguagem, tenho que criar uma maneira para calcula-la.desde já agradeço!!! Quote Link to comment Share on other sites More sharing options...
0 Wicker Man Posted July 3, 2004 Report Share Posted July 3, 2004 Olá, pessoa! Aí, pensei um bocado aqui e só consegui fazer um algoritmo super-rudimentar e num sei nem se funciona decente... Heheheh! Só sei que só funciona para inteiros quadrados perfeitos.É que eu estou meio cansado e a às 5h da manhã (ainda não dormi... ).O código é esse:int sqrRoot( int y ) { int sr = 1; if ( y == 0 ) return 0; else { while ( sr != y / sr ) sr++; } return sr; }Vou pensar em um melhor depois... Até mais! Quote Link to comment Share on other sites More sharing options...
0 == Douplus == Posted July 3, 2004 Report Share Posted July 3, 2004 Elaborei uma função, veja: long double square(long double num) { long double result; for (result = 0; 1 == 1; result = result + 1) { if (result * result == num) return result; else if (result * result > num) { result = result - 1; break; } else if (result * result < num) continue; } while (result * result < num) { //cout<<result<<"\n"; result = result + 0.000001; } return result; } A função ve qual número inteiro se aproxima mais do numero pedido, depois se ainda o número conseguido veses ele próprio ainda não é igual ao número introduzido, ele vai adicionando 0.000001 ao número até encontrar o resultado mais próximo (não exato). Quote Link to comment Share on other sites More sharing options...
Question
Guest - Mucosa -
ola pessoa !!! Quero saber como faço para calcular a raiz quadrada em C, mas não posso usar a função da linguagem, tenho que criar uma maneira para calcula-la.
desde já agradeço!!!
Link to comment
Share on other sites
2 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.