题目描述
写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于5,向上取整;小于5,则向下取整。
输入描述:
输入一个正浮点数值输出描述:
输出该数值的近似整数值输入例子:
5.5输出例子:
6
思路
- 首先是要求因数中的质数,这个时候需要考虑的是同一个质数是否会被整除两次,比如说4分解之后就是2 2。所以每次需要重头判断,这样做还可以确保整除的都输质数。
- 其次是排序,这样用上面的思路就可以解决排序
package com.a160916;
import java.util.Scanner;
public class Main2 {
public static String getResult(long ulDataInput)
{
StringBuilder str = new StringBuilder("");
if(ulDataInput==1)
return str.toString();
else
{
while(ulDataInput!=1){
for(int i=2;i<=ulDataInput;i++)
{
if(ulDataInput%i==0)
{
str.append(i+" ");
ulDataInput = ulDataInput / i;
break;//可能同一个数可以被多次整除
}
}
}
return str.toString();
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
long l = 0;
while(scanner.hasNext())
{
l = scanner.nextLong();
String str=getResult(l);
System.out.println(str);
}
scanner.close();
}
}