➤ Problem Link : GCD2
👉 Hint : Big numbers with modulus
✅ C++ Solution :
#include<bits/stdc++.h>
using namespace std;
#define ll long long int
#define m 7
bool check(string s,int n)
{
int rem=0;
string t="";
string temp;
int val;
while(1)
{
if(rem>0)
temp=to_string(rem);
else
temp="";
int l=temp.length();
int q=m-l;
if(s.length()<=q)
{
t=temp+s;
val=stoi(t);
rem=val%n;
break;
}
t=temp+s.substr(0,q);
s=s.substr(q);
val=stoi(t);
rem=val%n;
}
if(rem==0)
return 1;
return 0;
}
int main()
{
int t;
cin>>t;
while(t--)
{
int n;
string s;
cin>>n>>s;
if(n==0)
{
cout<<s<<"\n";
continue;
}
for(int i=n;i>=1;i--)
{
if(n%i!=0)
continue;
if(check(s,i))
{
cout<<i<<"\n";
break;
}
}
}
}
Thank you for your patience reading. If you enjoyed this post, I’d be very grateful if you’d help it spread by emailing it to a friend, or sharing it on Whatsapp or Facebook.
😇Happy Learning!!
