编程题:分解平方根
若一个数能表示成某个整数的平方的形式,则称这个数为完全平方数,如$4$、$9$、$100$都是完全平方数。
自然数中,完全平方数是少数,大量的自然数的平方根不是整数。如$\sqrt 2$就不是整数。
不过,所有的自然数的平方根都可以被表示为一个自然数和一个平方根的乘积,如$\sqrt {90}=3\cdot\sqrt {10}$。
当然,有些数的平方根,比如$\sqrt 2$,只能被表示为$1 \cdot\sqrt 2$;
而完全平方数的平方根,如$\sqrt {100}$则可以表示为$10 \cdot\sqrt 1$。
现在,你的任务是写一个程序,输入一个自然数,输出两个自然数,分别表示上述分解法则分解得到的自然数和平方数。
### 输入格式:
一个自然数,在32位的整数可以表达的范围内。
### 输出格式:
两个自然数,第一个自然数表示输入的平方根中的完全平方根部分,第二个自然数表示剩下的平方数。
### 输入样例1:
in
90
### 输出样例1
out
3 10
### 输入样例2
in
2
### 输出样例2
out
1 2
### 输入样例3
in
16
### 输出样例3
out
4 1
答案:若无答案欢迎评论
自然数中,完全平方数是少数,大量的自然数的平方根不是整数。如$\sqrt 2$就不是整数。
不过,所有的自然数的平方根都可以被表示为一个自然数和一个平方根的乘积,如$\sqrt {90}=3\cdot\sqrt {10}$。
当然,有些数的平方根,比如$\sqrt 2$,只能被表示为$1 \cdot\sqrt 2$;
而完全平方数的平方根,如$\sqrt {100}$则可以表示为$10 \cdot\sqrt 1$。
现在,你的任务是写一个程序,输入一个自然数,输出两个自然数,分别表示上述分解法则分解得到的自然数和平方数。
### 输入格式:
一个自然数,在32位的整数可以表达的范围内。
### 输出格式:
两个自然数,第一个自然数表示输入的平方根中的完全平方根部分,第二个自然数表示剩下的平方数。
### 输入样例1:
in
90
### 输出样例1
out
3 10
### 输入样例2
in
2
### 输出样例2
out
1 2
### 输入样例3
in
16
### 输出样例3
out
4 1
答案:若无答案欢迎评论