【CODE[VS]】4109 TTY loves numbers (月赛round2)

来源:互联网 发布:淘宝每年收入排行榜 编辑:程序博客网 时间:2024/06/01 11:55

传送门:http://codevs.cn/problem/4109/

我们最终就是求一个前面全是1,后面都是0的数
我写的构造
0很明显是为2和5这两个约数服务的,所以要能约完这两个才行
前面的逐位叠加判定即可

【题解里有大神提出了一个BSGS的做法(我没认真看)】

#include<stdio.h>#include<algorithm>int n,tot2,tot5,tot0,tot1;int main(){    scanf("%d",&n);    for (;(n&1)==0;n>>=1) tot2++;    for (;n%5==0;n/=5) tot5++;    tot0=std::max(tot2,tot5);    for (int p=1%n;p;p=(p*10+1)%n) tot1++;    for (int i=0;i<=tot1;i++) putchar('1');    for (int i=0;i<tot0;i++) putchar('0');}
0 0
原创粉丝点击