zoukankan      html  css  js  c++  java
  • PAT (Basic Level) Practice (中文) 1087 有多少不同的值 (20分)

    1.题目

    当自然数 n 依次取 1、2、3、……、N 时,算式 ⌊n/2⌋+⌊n/3⌋+⌊n/5⌋ 有多少个不同的值?(注:⌊x⌋ 为取整函数,表示不超过 x 的最大自然数,即 x 的整数部分。)

    输入格式:

    输入给出一个正整数 N(2≤N≤10​4​​)。

    输出格式:

    在一行中输出题面中算式取到的不同值的个数。

    输入样例:

    2017
    

    输出样例:

    1480

    2.题目分析

    最大值为5000+2000+3333.3333=10333.3333,所以数组>10333就行,但是可能存在结果为0情况,就把0的标记放在数组末尾 

    遍历结果有可能>N,所以要一直遍历到数组末尾

    3.代码

    #include<iostream>
    using namespace std;
    int list[10336];
    int main()
    {
    	int n;
    	cin >> n;
    	for (int i = 1; i <= n; i++)
    	{
    		double t = i;
    		int temp = (int)t / 2 + (int)t / 3 + (int)t / 5;
    		if(temp!=0)list[temp]++;
    		else list[10335]++;
    	}
    	int count = 0;
    	for (int i = 0; i < 10334; i++)
    		if (list[i] != 0)count++;
    	if (list[10335] != 0)count++;
    	cout << count;
    }
    
  • 相关阅读:
    CSS 字体
    列表排列
    IE6 fixed 页面抖动
    HTML中css和js链接中的版本号(刷新缓存)
    CSS3 box-shadow
    CSS3的文字阴影—text-shadow
    [LeetCode][JavaScript]Add Digits
    [LeetCode][JavaScript]Max Points on a Line
    [LeetCode][JavaScript]Subsets II
    [LeetCode][JavaScript]Subsets
  • 原文地址:https://www.cnblogs.com/Jason66661010/p/12788903.html
Copyright © 2011-2022 走看看