首页 > 代码库 > 51Nod 1284 2 3 5 7的倍数
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的倍数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。