当前位置: 代码迷 >> 综合 >> 1087 有多少不同的值
  详细解决方案

1087 有多少不同的值

热度:63   发布时间:2023-11-24 23:58:45.0

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);}
}
  相关解决方案