| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:0M 水过~~欧几里得模板水题In Reply To:0M 水过~~欧几里得模板水题 Posted by:13213824379 at 2017-11-30 21:01:30 > #include<stdio.h>
> typedef long long ll;
> ll gcd(ll a,ll b,ll &x,ll &y)
> {
> if(b==0)
> {
> x=1;
> y=0;
> return a;
> }
> ll d=gcd(b,a%b,x,y);
> ll t=x;
> x=y;
> y=t-a/b*y;
> return d;
> }
> int main()
> {
> ll A,B,C,K;
> ll x,y;
> while(scanf("%lld%lld%lld%lld",&A,&B,&C,&K)&&(A||B||C||K))
> {
> ll c=B-A;
> ll a=C;
> ll b=(ll)1<<K;
> ll d=gcd(a,b,x,y);
> if(c%d)
> {
> printf("FOREVER\n");
> continue;
> }
> ll s=b/d;
> ll min=(x*c/d%s+s) %s;
> printf("%lld\n",min);
> }
> return 0;
> }
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator