原题目

  小月言要过四岁生日了,她的妈妈为她准备了n根火腿,她想将这些火腿均分给m位小朋友,所以她可能需要切火腿。为了省事,小月言想切最少的刀数,使这n根火腿分成均等的m份。请问最少要切几刀?

  第一行一个整数 T,表示有 T 组数据,对于每组测试数据格式如下: 每组共一行,有两个数字 N 和 M;意义如题目描述;

  输出共 T 行,每组数据一行,输出最少要切的刀数。

S1:

  Input:


  Output:



  Describe:小小的数论题。

  code:

#include<bits/stdc++.h>
#define INF 214748364
#define eps 1e-9
#define rep1(a,b) for(register int i=(a);i<=(b);i++)
#define rep2(a,b) for(register int j=(a);j<=(b);j++)
using namespace std;
long long t,a,b,ans;
inline int read(){
int ret=0,f=1;char ch=getchar();
while (ch<'0'||ch>'9') {if (ch=='-') f=-f;ch=getchar();}
while (ch>='0'&&ch<='9') ret=ret*10+ch-'0',ch=getchar();
return ret*f;
}
inline double read2(){
double X=0,Y=1.0;int w=0;char ch=0;
while(!isdigit(ch)){w|=ch=='-';ch=getchar();}
while(isdigit(ch))X=X*10+(ch^48),ch=getchar();
ch=getchar();
while(isdigit(ch)) X+=(Y/=10)*(ch^48),ch=getchar();
return w?-X:X;
}
inline void write(int x){
if(x<0){putchar('-');write(-x);return;}
if(x/10) write(x/10);
putchar(x%10+'0');
}
int main(){
//freopen("hdogs.in","r",stdin);
//freopen("hdogs.out","w",stdout);
t=read();
while(t--)
{
ans=0,a=0,b=0;a=read(),b=read();
if(a%b==0){puts("0");continue;} //能均分(n>m)
a%=b;long long f=__gcd(a,b); //a>=b转化为a<b[能分的先分]
f=a/f;b--,a--; //已经切了一刀
ans=b-a/f;write(ans);puts(""); //玄学通项
}
return 0;
}

  

最新文章

  1. php实现数据粘性例子
  2. Django~static files
  3. hud1166 敌兵布阵
  4. jpg图片在IE6、IE7和IE8下不显示解决办法
  5. NuGet的安装;
  6. 疑难杂症:NoSuchMethodError: com.opensymphony.xwork2.util.finder.UrlSet.includeClassesUrl(Lcom/opensymphony/xwork2/util/finder/ClassLoaderInterface;)
  7. Comparator和Comparable
  8. OpenCV2学习笔记05:矩阵翻转
  9. angular中的cookie读写
  10. React编写input组件传参共用onChange
  11. 使用c语言实现linux数据库的操作
  12. KafkaManager编译安装使用(支持kerberos认证)
  13. FI-盘盈盘亏借贷科目
  14. Java序列化由于没有指定serialVersionUID导致报错
  15. Centos 6\7下yum安装R
  16. SAP 图形页面
  17. iOS逆向工程之Cycript
  18. WAVE文件格式解析
  19. Silverlight自定义控件系列 – TreeView (2) 基本布局和States
  20. Kafka科普系列 | Kafka中的事务是什么样子的?

热门文章

  1. js 常用字符正则匹配
  2. 后台框架 FastAdmin V1.0.0.20200228 发布,为疫情防控作贡献
  3. android 简单列表对话框(AlertDialog.Builder().setItems())
  4. JSTL fn:replace()函数替换 换行符
  5. 捣鼓Haskell
  6. jeDate日期控件精确到秒
  7. idea增删改查
  8. 五子棋C#源码,网络对战版---转载--待学习
  9. JavaScript引用类型与对象
  10. 2_01_MSSQL课程_查询