CF922C Cave Painting 题解

题目传送门
题意翻译
给定 \(n,k\) ( \(n,k\le 10^{18}\) )
回答 \(n \mod i,i\in \left[1,k\right]\) 是否都不同。
题目解析
一道简单的结论题,我们发现,只有当 \(n\mod i=i-1,i\in \left[1,k\right]\) 答案才成立。
代码:

#include<cstdio>
using namespace std;
typedef long long ll;
inline ll read(){
	ll sum=0;
	int flag=0;
	char c=getchar();
	while((c<'0'||c>'9')&&c!='-') c=getchar();
	while('0'<=c&&c<='9'){
		sum=(sum<<1)+(sum<<3)+(c^48);
		c=getchar();
	}
	if(flag) return -sum;
	return sum;
}
ll x,y,f; 
int main(){
    x=read(); y=read();
    f=1;
	for(int i=1;i<=y;i++)
		if(x%i!=i-1){
		    f=0;
		    break;
		}
	if(f) printf("Yes\n");
	else printf("No\n");
	return 0;
}

posted @ 2021-02-15 22:09  jiangtaizhe001  阅读(29)  评论(0编辑  收藏  举报