记录编号 |
463503 |
评测结果 |
AAAAAAAAAA |
题目名称 |
八 |
最终得分 |
100 |
用户昵称 |
Shirry |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.019 s |
提交时间 |
2017-10-24 11:16:09 |
内存使用 |
0.29 MiB |
显示代码纯文本
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int n;
long long a,b,ans,c[20];
long long gcd(long long x,long long y){return y?gcd(y,x%y):x;}
void dfs(int x,long long num,int cnt){
if(x>n){
if(cnt&1)ans+=b/num-a/num;
else ans-=b/num-a/num;
return;
}
dfs(x+1,num*c[x]/gcd(num,c[x]),cnt+1);
dfs(x+1,num,cnt);
}
int main(){
freopen("eight.in","r",stdin);
freopen("eight.out","w",stdout);
scanf("%d",&n);
for(int i=1;i<=n;i++)scanf("%lld",&c[i]);
scanf("%lld%lld",&a,&b);
dfs(1,8,1);//能被8整除至少是8
printf("%lld\n",ans);
return 0;
}