Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * @Author: Kabid
- * @Date: {{create_time}}
- * @Last Modified by: Kabid
- * @Last Modified time: 2020-12-18 01:33:00
- */
- #include "bits/stdc++.h"
- using namespace std;
- #define ll long long
- #define dbug cerr<<"HERE"<<endl;
- //===============Declaration=======================================
- int t;
- ll i, j; //iterators
- ll n, k , p, m, c, x; //variables;
- ll mx = LLONG_MIN, mn = LLONG_MAX; // max min
- //===============string=========================================================
- string s, s1, s2;
- char ch;
- //---------------containers---------------------------------------------
- char a [600][600];
- ll b[600][600];
- map <ll, ll > mp;
- vector <ll> vc, vc1, v[100001], w[100001];
- set <ll> st;
- priority_queue< pair<ll, ll>, vector< pair<ll, ll> >, greater< pair<ll, ll> > > q;
- ll mod = 1e9 + 7;
- bool r;
- /////
- void solve();
- int main() {
- t = 1;
- cin >> t; x = t;
- while (t-- ) {
- solve();
- }
- return 0;
- }
- int lcm(int a, int b) {
- for (int i = 1; ; i++) {
- if (i % a == 0 && i % b == 0) {
- return i;
- }
- }
- }
- int gcd(int a, int b) { // assuming a >= b
- while (true) {
- int remainder = a % b;
- if (remainder == 0) {
- return b;
- }
- a = b; // a takes the bigger side
- b = remainder; // b takes the smaller side
- }
- }
- void solve() {
- int n,k;
- ll c=0;
- cin>>n>>k;
- int p=gcd(n,k);
- for(i=1;i*i<=p;i++){
- if(p%i==0){
- c+=2;
- }
- if(i*i==p){
- c--;
- }
- }
- cout<<c<<endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement