codeforces 630KIndivisibility(容斥原理)

IT City company developing computer games invented a new way to reward its employees. After a new game release users start buying it actively, and the company tracks the number of sales with precision to each transaction. Every time when the next number of sales is divisible by all numbers from 2 to 10 every developer of this game gets a small bonus.

A game designer Petya knows that the company is just about to release a new game that was partly developed by him. On the basis of his experience he predicts that n people will buy the game during the first month. Now Petya wants to determine how many times he will get the bonus. Help him to know it.

Input
The only line of the input contains one integer n (1 ≤ n ≤ 1018) — the prediction on the number of people who will buy the game.

Output
Output one integer showing how many numbers from 1 to n are divisible by all numbers from 2 to 10.

题意:给出一个数n,输出一个整数,表示从1到n的多少个数字可以被2到10的所有数字整除

思路:能整除10,9,7,4的数就满足要求(能整除10就能整除2,5;能整除9就能整除3;能整除2,4就能整除8;)

AC代码:

#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
    long long n;
    scanf("%lld",&n);
    long long t;
    t=n/2520;
    printf("%lld\n",t);
}

好久没见这么短的代码了,哈哈哈哈哈哈

发布了261 篇原创文章 · 获赞 14 · 访问量 7412

猜你喜欢

转载自blog.csdn.net/weixin_43244265/article/details/104111347