BZOJ2296: 【POJ Challenge】随机种子【数学题】

2296: 【POJ Challenge】随机种子

【题目描述】

传送门

【题解】

很简单的数论题,我们知道x到x+n之间肯定有一个是n的倍数,然后强制0到9出现就可以了(放在最高位上)。

代码如下

#include<cstdio>
using namespace std;
typedef long long LL;
int T,n;LL Ans;
int main(){
    scanf("%d",&T);
    while(T--){
        scanf("%d",&n);
        if(n==0){printf("-1\n");continue;}
        Ans=1234567890ll;
        for(int i=n;i;i/=10) Ans*=10;
        for(int i=0;i<n;i++) if((Ans+i)%n==0){Ans+=i;break;}
        printf("%lld\n",Ans);
    }
    return 0;
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部