Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- int raiz (int n) {
- if(n==0)
- return 0;
- int l = 1;
- int r = n;
- int meio = (l+r)/2;
- while (r - l > 1) {
- if (meio*meio == n)
- return meio;
- if (meio*meio > n)
- r = meio;
- else
- l = meio;
- meio = (l+r)/2;
- }
- int aux1 = r*r;
- if ((n-aux1) > 0)
- return r;
- return l;
- }
- void teta1(int n){
- int x=0, y=0, rden, quadradoanterior, quadradoposterior;
- rden = raiz(n);
- quadradoanterior = rden*rden;
- quadradoposterior = (rden+1)*(rden+1);
- if(raiz(n)%2==0){
- if(n <= (quadradoanterior+quadradoposterior)/2){
- x=(n-quadradoanterior)-rden/2;
- y=-(rden/2);
- }
- else{
- x=raiz(quadradoposterior)/2;
- y=((raiz(quadradoposterior)/2)+1)-(quadradoposterior-n);
- }
- }
- else{
- if(n < (quadradoanterior+quadradoposterior)/2){
- x=(raiz(quadradoanterior)/2)-(n-quadradoanterior);
- y=(raiz(quadradoanterior)/2)+1;
- }
- else{
- x=-(raiz(quadradoposterior)/2);
- y=-(raiz(quadradoposterior)/2)+(quadradoposterior-n);
- }
- }
- printf("Coordenadas: (%i,%i)\n", x, y);
- }
- int main(){
- int n;
- while(n>=0){
- printf("Digite um numero da seguencia: ");
- scanf("%i", &n);
- teta1(n);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement