1 #include
2 int gcd(int n,int m)
3 {
4 return 0==m?n:gcd(m,n%m);
5 }
6 int main()
7 {
8 int num,a,b,c;
9 scanf("%d",&num);
10 while(num--)
11 {
12 scanf("%d%d",&a,&c);
13 int i;
14 for(i=2;;i++)
15 {
16 b=c*i;
17 if((gcd(a,b)==c)&&a!=b)
18 break;
19 }
20 printf("%d
",b);
21 }
22 return 0;
23 }
其实每一道题都会给我一些启示吧算法最重要
在安泽等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站建设、网站设计 网站设计制作定制开发,公司网站建设,企业网站建设,成都品牌网站建设,全网整合营销推广,外贸营销网站建设,安泽网站建设费用合理。自己一开始穷举所有情况 if else if else最后还是wrong answer .....
遗漏或者错误在所难免
所以自己告诉自己,做题不用太急切.... 多考虑一种算法,也许或者只是一点小小的技巧 稍微多的分析一下。嗯
另外自己对算法时间估计不够准确
循环gcd时间不是太多 因为一般的数都会与2 3 5等素质
并且这个gcd函数对(int n,int m) 没有大小限制的
就算输入一个2 3 4 5的公倍数也不算太大哪 太大就超过范围了