打表水题
将p=2,3,5,7时,将每个球的value打表出来
官方解题报告
没看懂。。。
贴打表找出规律(循环节)的代码
#include <iostream> #include <cstdio> using namespace std; /*int a[4][100]; int prime[4]={2,3,5,7}; int func(int a,int b,int p){ a %= p; int sum=1; for(int i=1;i<=b;i++){ sum = sum*a%p; } return sum; } int main() { cout<<"打表"<<endl; for(int i=0;i<4;i++){ int p=prime[i]; for(int j=1;j<100;j++){ for(int t=1;t<p;t++) a[i][j] = (a[i][j]+func(t,j,p))%p; } } for(int i=0;i<4;i++){ for(int j=1;j<100;j++) cout<<a[i][j]<<" "; cout<<endl; } //cout << "Hello world!" << endl; return 0; }*/ //根据打表结果,找到循环节为p-1 //p=2 //1111-1111-1111 //p=3 //0202-0202-0202 //p=5 //0004-0004-0004 int main(){ int k,p; while(~scanf("%d%d",&k,&p)){ k = k/(p-1); if(k&1) cout<<"YES"<<endl; else cout<<"NO"<<endl; } return 0; }