1 条题解
-
0
自动搬运
来自洛谷,原作者为

清风雪月
柠檬恋水伴蓝月,暮空喜风留残影搬运于
2025-08-24 22:15:54,当前版本为作者最后更新于2021-09-27 17:36:41,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
第一篇可提交的题解,望通过。
下面切入正题。
通过找规律和观察我们发现,要想得到整数,我们应该要选择输入的第二个数,也就是第一个分数的分母作为整体的分母。
那么怎么判断是否可行呢?我们就需要用到约分,即把两个数同时除以它们的最大公约数。
除完之后,如果最终的结果不是一,除不干净,那么就说明它不是整数。
有了思路我们就可以做了。
//~柠月~ #include<bits/stdc++.h> using namespace std; int d,n,a[10001],q;//q是第二个数 int gcd(int a,int b)//约分 { if(b==0)return a; return gcd(b,a%b); } int main() { cin>>d; for(int i=1;i<=d;i++) { memset(a,0,sizeof(a));//把a数组初始化 cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; } q=a[2]; for(int i=1;i<=n;i++) { if(i!=2)q/=gcd(q,a[i]); } if(q==1)cout<<"YES"<<endl; else cout<<"NO"<<endl; } return 0; }不要直接抄代码哦,至少先看看分析吧。
- 1
信息
- ID
- 4964
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 2
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者