uva 10161
1 #include<stdio.h> 2 3 int main() 4 { 5 int s ; 6 while(scanf("%d",&s)==1 && s) 7 { 8 int x = 1; 9 int m = 1 , n = 1 ; 10 while (1) 11 if(x*x <= s && s < (x+1)*(x+1) ) break; 12 else x++; 13 14 if( s == x*x) 15 if(x%2 == 0) {printf("%d 1\n",x) ;continue;} 16 else {printf("1 %d\n",x) ; continue;} 17 int va = x*x; 18 if(x % 2 == 0) 19 { 20 int i = 0 ; 21 m = x ;n = 1; 22 m++;va++; 23 while( s > va && i< x) 24 { 25 n++; 26 va++; 27 i++; 28 } 29 i = 0 ; 30 while(s > va && i < x ) 31 { 32 m--; 33 va++; 34 i++; 35 } 36 printf("%d %d\n",m,n); 37 } 38 else 39 { 40 int i = 0 ; 41 n = x ;m = 1; 42 n++;va++; 43 while( s > va && i< x) 44 { 45 m++; 46 va++; 47 i++; 48 } 49 i = 0 ; 50 while(s > va && i < x ) 51 { 52 n--; 53 va++; 54 i++; 55 } 56 printf("%d %d\n",m,n); 57 } 58 } 59 return 0 ; 60 }
前几次WA 后来把s!=va 改为 s>va 才过
不知道 为什么 以后还是注意点!