博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【模拟】神奇的树
阅读量:5327 次
发布时间:2019-06-14

本文共 1187 字,大约阅读时间需要 3 分钟。

神奇的树 

Time Limit: 1000MS Memory limit: 65536K

题目描述

SDUT有一颗神奇的苹果树。假如某天早上这树上有x个苹果,那么这树这一天会再结出x个苹果来,也就是说到了晚上会有2*x个苹果,到了深夜,会有专人人来摘苹果,而摘苹果的人总会使苹果数剩下当前数量对m的余数,也就是说假如当前数量为a,那么第二天早上会剩下a%m个苹果。也许聪明的你已经发现了,有可能从某一天开始,这棵树上就再也没有苹果了。那么给你第一天早上的苹果数,请你判断一下是否存在这一天,从这一天开始就再也没有苹果了。如果一直存在的话输出Yes,否则输出No。
 

输入

 多组测试数据。每组测试数据都是一行两个整数,x和m。x表示第一天早上的
苹果树,m表示余数。1<=x,m<=10^5.

输出

 每组测试数据输出单独一行,Yes或No。

示例输入

1 53 6

示例输出

NoYes 题意: 假如早上苹果的数量为a,这一天会再结出a个苹果,到了晚上会有2a个,那么第二天早上会剩下2a%m个苹果,问是否有可能早上的苹果的数目会为0,也就是说被摘了。 如果可以被摘了,则输出Yes,否则输出No。
1 #include
2 #include
3 int s[1001000]; 4 int main() 5 { 6 int n, m, flag; 7 while(~scanf("%d%d", &n, &m)) 8 { 9 memset(s, 0, sizeof(s)); 10 n = n*2; 11 flag = 0; 12 while(!s[n%m]) 13 { 14 s[n%m]=1; 15 n = n%m; 16 n = n*2; 17 if(n%m==0) 18 { 19 printf("Yes\n"); 20 flag = 1; 21 break; 22 } 23 } 24 if(flag) continue; 25 printf("No\n"); 26 } 27 return 0; 28 }

 

转载于:https://www.cnblogs.com/6bing/p/4133548.html

你可能感兴趣的文章
ArcGIS多面体(multipatch)解析——引
查看>>
JS 在火狐浏览器下关闭弹窗
查看>>
css3渐变画斜线 demo
查看>>
UIView中的坐标转换
查看>>
JS性能DOM优化
查看>>
设计模式 单例模式 使用模板及智能指针
查看>>
c++11 多线程依次打印ABC
查看>>
c#的const可以用于引用类型吗
查看>>
手动实现二值化
查看>>
What Linux bind mounts are really doing
查看>>
linux top命令详解
查看>>
博弈论小结
查看>>
模拟Post登陆带验证码的网站
查看>>
CentOS下安装配置MySQL8.0的步骤详解
查看>>
NYOJ458 - 小光棍数
查看>>
java中常用方法
查看>>
【Programming Clip】06、07年清华计算机考研上机试题解答(个别测试用例无法通过)...
查看>>
HTML基础
查看>>
canvas动画
查看>>
系统软件构成
查看>>