根號運算
輸入很多, 請用 EOF
輸入 3 則為 √3
輸入 4 則為 2
數入 12 則為 2√3
有負數喔
請弄好 "i"
輸入說明 :
一堆數字,行行排列
輸出說明 :
一堆數字,行行排列
注意
√ 要用成 _/
範例輸入 :
3
4
12
-3
-4
-12
範例輸出 :
_/3
2
2_/3
_/3i
2i
2_/3i
提示 :
聰明的人會加速
拜託好不好
暴力會TLE
程式碼 :
#include<stdio.h> #include<math.h> int main() { int a,i,minus,sqr,left; while(scanf("%d",&a)==1) { if(a == 0) { printf("0\n"); continue; } minus = 0; if(a < 0) { minus = 1; a = -a; } sqr = sqrt(a); left = 1; for(i=2; i<=sqr; i++) { while(a%(i*i) == 0) { left *= i; a /= (i*i); } } if(left != 1) printf("%d",left); if(a != 1) printf("_/%d",a); if(minus) printf("i"); printf("\n"); } return 0; }
http://zerojudge.tw/ShowProblem?problemid=d085
沒有留言:
張貼留言