Wikipedia:Blakbord : Kalainan tali sa mga rebisyon
Content deleted Content added
m Reverted edits by 109.175.86.199 (talk) to last revision by Vituzzu |
No edit summary Tag: Reverted |
||
Linya 1: | Linya 1: | ||
{{Please leave this line alone (sandbox heading)}} |
{{Please leave this line alone (sandbox heading)}} |
||
<!-- Hello! Hala sige sulayi pagpormat ug pag-edit dinhi sa ubos aning pahibalo, ipakita ang imong pagkahanas sa pag-usab sa mga panid dinhi. Himoa unsay imong gusto dinhi. Dayon! --> |
<!-- Hello! Hala sige sulayi pagpormat ug pag-edit dinhi sa ubos aning pahibalo, ipakita ang imong pagkahanas sa pag-usab sa mga panid dinhi. Himoa unsay imong gusto dinhi. Dayon! --> |
||
#include<bits/stdc++.h> |
|||
using namespace std; |
|||
//int oust=0; |
|||
typedef vector<long long>LL; |
|||
istream&operator>>(istream&in,LL&a) |
|||
{ |
|||
a.clear(); |
|||
string s; |
|||
cin>>s; |
|||
for(int i=0;i<s.size();++i) |
|||
{ |
|||
a.push_back(s[s.size()-i-1]-'0'); |
|||
} |
|||
return in; |
|||
} |
|||
ostream&operator<<(ostream&out,LL a) |
|||
{ |
|||
for(int i=a.size()-1;i>=0;--i)cout<<a[i]; |
|||
return out; |
|||
} |
|||
bool comp(LL&a,LL&b) |
|||
{ |
|||
if(a.size()==b.size()) |
|||
{ |
|||
for(int i=b.size()-1;i>=0;--i) |
|||
{ |
|||
if(a[i]==b[i])continue; |
|||
else return a[i]<b[i]; |
|||
} |
|||
return 0; |
|||
} |
|||
return a.size()<b.size(); |
|||
} |
|||
LL operator-(LL a,LL&b) |
|||
{ |
|||
// cout<<a<<' '<<b<<' '<<oust<<endl; |
|||
// oust++; |
|||
// if(oust%20==0)cout<<oust<<" o\n"; |
|||
LL c(0,0); |
|||
if(a==b)return c; |
|||
if(a.size()-b.size()>=2) |
|||
{ |
|||
LL b2(a.size()-b.size()-1,0); |
|||
b2.insert(b2.end(),b.begin(),b.end()); |
|||
return a-b2; |
|||
} |
|||
for(int i=0;i<min(a.size(),b.size());++i)a[i]-=b[i]; |
|||
bool ok=0; |
|||
while(!ok) |
|||
{ |
|||
ok=1; |
|||
for(int i=0;i<min(a.size(),b.size());++i) |
|||
{ |
|||
if(a[i]<0){a[i]+=10;a[i+1]--;ok=0;} |
|||
} |
|||
} |
|||
while(!*--a.end())a.pop_back(); |
|||
return a; |
|||
} |
|||
LL gcd(LL a,LL b) |
|||
{ |
|||
if(a==b)return b; |
|||
while(b.size()) |
|||
{ |
|||
if(comp(a,b))swap(a,b); |
|||
LL a0=a,b0=b; |
|||
a=b0; |
|||
b=a0-b0; |
|||
} |
|||
return a; |
|||
} |
|||
int main() |
|||
{ |
|||
// freopen("D:\\t.txt","r",stdin); |
|||
LL n,m; |
|||
cin>>n>>m; |
|||
cout<<gcd(n,m)<<endl; |
|||
return 0; |
|||
} |
Rebisyon niadtong 11:20, 17 Marso 2019
Dayon sa Wikipedia Blakbord! Puyde ka mag-eksperimento dinhi. Aron ka makausab, klik dinhi o sa usba sa taas, human hala sige pagsuwat-suwat; unya iklik ang Tipigi ang panid nga buton paghuman nimo. Ang sulod dili permanente dinhi; kini automatik nga limpyohon kada 12 oras, o kon naunahan alisdan sa ubang tester.
Kon duna kay pangutana sa Wikipedya, adtoa ang Wikipedia:Mga Pangutana. Salamat! |
|
- include<bits/stdc++.h>
using namespace std; //int oust=0; typedef vector<long long>LL; istream&operator>>(istream&in,LL&a) {
a.clear(); string s; cin>>s; for(int i=0;i<s.size();++i) { a.push_back(s[s.size()-i-1]-'0'); } return in;
} ostream&operator<<(ostream&out,LL a) {
for(int i=a.size()-1;i>=0;--i)cout<<a[i]; return out;
} bool comp(LL&a,LL&b) {
if(a.size()==b.size()) { for(int i=b.size()-1;i>=0;--i) { if(a[i]==b[i])continue; else return a[i]<b[i]; } return 0; } return a.size()<b.size();
} LL operator-(LL a,LL&b) { // cout<<a<<' '<<b<<' '<<oust<<endl; // oust++; // if(oust%20==0)cout<<oust<<" o\n";
LL c(0,0); if(a==b)return c; if(a.size()-b.size()>=2) { LL b2(a.size()-b.size()-1,0); b2.insert(b2.end(),b.begin(),b.end()); return a-b2; } for(int i=0;i<min(a.size(),b.size());++i)a[i]-=b[i]; bool ok=0; while(!ok) { ok=1; for(int i=0;i<min(a.size(),b.size());++i) { if(a[i]<0){a[i]+=10;a[i+1]--;ok=0;} } } while(!*--a.end())a.pop_back(); return a;
} LL gcd(LL a,LL b) {
if(a==b)return b; while(b.size()) { if(comp(a,b))swap(a,b); LL a0=a,b0=b; a=b0; b=a0-b0; } return a;
} int main() { // freopen("D:\\t.txt","r",stdin);
LL n,m; cin>>n>>m; cout<<gcd(n,m)<<endl; return 0;
}