算法设计与分析基础 第三版 课后答案1.1

您所在的位置:网站首页 数据分析基础课后答案 算法设计与分析基础 第三版 课后答案1.1

算法设计与分析基础 第三版 课后答案1.1

2024-03-04 12:46| 来源: 网络整理| 查看: 265

1.1.5

#include using namespace std; int a[]={2,5,5,5}; int b[]={2,2,3,5,5,7}; int i,j; int main(){ while(i cout if(b==0)return a; gcd(b,a%b); } int main(){ cout int m,n;cin>>m>>n; c=max(m,n); g=gcd(m,n); if((c/g)%2)coutx=1;y=0;return a;} int ans=exgcd(b,a%b,x,y); int temp=x; x=y; y=temp-a/b*y; return ans; }

b 1.ax+by=gcd(a,b) 求得x,y,gcd(a,b) 2.if(!c%gcd(a,b))无整数解,退出 else 继续 3.已知x,y,c,gcd(a,b)求得x0=xc/gcd(a,b),y0=yc/gcd(a,b) 4.求得通解 x1=x0+kb/gcd(a,b) y1=y0+ka/gcd(a,b) x1 = (x + k * ( b / gcd(a, b) )) (c / gcd(a, b) ) 令 b1 = b / gcd(a, b) x1 = (x1 % b1 + b1) % b1 y1 = (c - ax1) / b

关于为何x1 = (x1 % b1 + b1) % b1: x1=x0+k*b/gcd(a,b),则b/gcd(a,b)为x的解的周期, 设b1 = b/gcd,gcd不一定正,如果gcd为负将它取为正。对x,先x%b1得出最小的解,再将这个值加模取模,从而变为一个正数

例题洛谷P1516 1.1.12带锁的门 文字分析:https://blog.csdn.net/u012439764/article/details/81981748

#include #include #include using namespace std; int main(){ int n;cin>>n; bool a[n+1]={0}; for(int i=1;i if(!(j%i)){ if(a[j])a[j]=0; else a[j]=1; } } } cout if(!a[i])cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3