1087 有多少不同的值
当自然数 n 依次取 1、2、3、……、N 时,算式 ⌊n/2⌋+⌊n/3⌋+⌊n/5⌋ 有多少个不同的值?(注:⌊x⌋ 为取整函数,表示不超过 x 的最大自然数,即 x 的整数部分。)
输入格式:
输入给出一个正整数 N(2≤N≤10^4)。
输出格式:
在一行中输出题面中算式取到的不同值的个数。
输入样例:
2017
输出样例:
1480
分析:
根据公式的特性,这个值肯定是一个在逐渐增长的值,所以相同的值肯定是连续的,所以只要保证当前计算的结果个上一个结果比较是否相等,如果不等则计数器加一。
代码:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int n=Integer.parseInt(br.readLine());
int b=0,num=1;
for (int i = 1; i <= n; i++) {
int a=i/2+i/3+i/5;
if(i==1) {
b=a;
}
if(b!=a) {
num++;
}
b=a;
}
System.out.println(num);
}
}