首页 > 代码库 > SDUT 周赛 神奇的树(简单题 注意数据类型的溢出 )
SDUT 周赛 神奇的树(简单题 注意数据类型的溢出 )
神奇的树
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
#include <iostream>#include <string>#include <string.h>#include <stdio.h>#include <algorithm>using namespace std;int main(){ bool f[200006]; long long x; int m; while(scanf("%d %d", &x, &m)!=EOF) { memset(f, false, sizeof(f)); int flag; while(f[x]==false && x!=0) { f[x]=true; x=x*2; x=x%m; } if(x==0) { cout<<"Yes\n"; } if(f[x]==true) { cout<<"No\n"; } } return 0;}
SDUT 周赛 神奇的树(简单题 注意数据类型的溢出 )
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。