51Nod 1284 2 3 5 7的倍数
Posted 午夜的行人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了51Nod 1284 2 3 5 7的倍数相关的知识,希望对你有一定的参考价值。
给出一个数N,求1至N中,有多少个数不是2 3 5 7的倍数。 例如N = 10,只有1不是2 3 5 7的倍数。
Input
输入1个数N(1 <= N <= 10^18)。
Output
输出不是2 3 5 7的倍数的数共有多少。
Input示例
10
Output示例
1
1 #include <iostream> 2 #include <algorithm> 3 #include <stdio.h> 4 #include <cstring> 5 using namespace std; 6 #define ll long long 7 int main() 8 { 9 ll n; 10 while(cin>>n){ 11 ll s2,s3,s5,s7,s23,s25,s27,s35,s37,s57,s235,s237,s257,s357,s2357,s=0; 12 s2=n/2,s3=n/3,s5=n/5,s7=n/7; 13 s23=n/(2*3),s25=n/(2*5),s27=n/(2*7),s35=n/(3*5),s37=n/(3*7),s57=n/(5*7); 14 s235=n/(2*3*5),s235=n/(2*3*5),s237=n/(2*3*7),s257=n/(2*5*7),s357=n/(3*5*7); 15 s2357=n/(2*3*5*7); 16 s+=s2+s3+s5+s7-s23-s25-s27-s35-s37-s57+s235+s237+s257+s357-s2357; 17 cout<<n-s<<endl; 18 } 19 return 0; 20 }
以上是关于51Nod 1284 2 3 5 7的倍数的主要内容,如果未能解决你的问题,请参考以下文章