1087
当自然数 n 依次取 1、2、3、……、N 时,算式 ⌊n/2⌋+⌊n/3⌋+⌊n/5⌋ 有多少个不同的值?(注:⌊x⌋ 为取整函数,表示不超过 x 的最大自然数,即 x 的整数部分。)
输入格式:
输入给出一个正整数 N(2≤N≤10
4
)。
输出格式:
在一行中输出题面中算式取到的不同值的个数。
输入样例:
2017
输出样例:
1480
思路:这题要不同值的个数我就想到了TreeSet的特性,这题很快就解决了,其中要注意用Math.floor()向下取整.
代码:
package Test_PTA_1062to1095;
import Test_PcImage.M;
import sun.reflect.generics.tree.Tree;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet;
public class PTA1087 {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int N=in.nextInt();
Set<Integer> sum=new TreeSet<>();
for(int i=1;i<=N;i++){
int h=0;
h= (int)Math.floor(i/2)+(int)Math.floor(i/3)+(int)Math.floor(i/5);
sum.add(h);
}
System.out.println(sum.size());
}
}