无锡网站建设 无锡和诚科技,网站设计 字体,网站后台更新怎么做,沈阳网站建设推广题意#xff1a;给定两个数n和m#xff0c;对于n/m一个向上取整#xff0c;一个向下取整#xff0c;然后得到一个方程即P*floor(n/m#xff09;q*ceil(n/m)n;求该公式中p和q的值的大小。思路#xff1a;很明显#xff0c;扩展的欧几里得方程#xff0c;直接带入扩展欧几…题意给定两个数n和m对于n/m一个向上取整一个向下取整然后得到一个方程即P*floor(n/mq*ceil(n/m)n;求该公式中p和q的值的大小。思路很明显扩展的欧几里得方程直接带入扩展欧几里得公式即可只不过n在此不等于gcdnm因此在最后的时候还要乘以倍数n/mcode#include iostream#include cstdio#include cmath#include algorithmusing namespace std;void super_gcd(int a,int b,int d,int x,int y) //扩展欧几里得{ if (!b) {da,x1,y0;} else super_gcd(b,a%b,d,y,x),y-x*(a/b);}int main(){ int t; scanf(%d,t); while (t--) { int n,m,a,b,x,y; scanf(%d%d,n,m); bceil(n*1.0/m),afloor(1.0*n/m); super_gcd(a,b,m,x,y); // coutx yendl; printf(%d %d\n,x*(n/m),y*(n/m)); }}