解题思路:
注意事项:
参考代码:
#include<iostream> #include<cstdio> #include<math.h> #include<algorithm> using namespace std; long int a0,a1,b0,b1; int gcd(int a,int b) { if(b==0) return a; else gcd(b,a%b); } int main() { int n,ans,i=0; cin>>n; while(n--) { ans=0; scanf("%d %d %d %d",&a0,&a1,&b0,&b1); for(i=1;i*i<=b1;i++){ if(b1%i==0){ int x=i; if(gcd(a0,x)==a1&&b0*x==b1*gcd(b0,x))//b0*x/(最大公因数)=b1 { ans++; } if(i*i!=b1){//判断另一个因数 x=b1/i; if(gcd(a0,x)==a1&&b0*x==b1*gcd(b0,x)){ ans++; } } } } printf("%d\n",ans); } return 0; }
0.0分
0 人评分
整除问题 (C语言代码)浏览:883 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:703 |
陶陶摘苹果 (C语言代码)浏览:1604 |
C二级辅导-计负均正 (C语言代码)浏览:508 |
数列 (C++代码)浏览:664 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:609 |
C语言训练-计算一个整数N的阶乘 (C语言代码)浏览:932 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:519 |
C语言训练-亲密数 (C语言代码)浏览:682 |
DNA (C语言描述,蓝桥杯)浏览:1553 |