正题
题目大意
对于一个nnn,求一个mmm,使得n∗mn*mn∗m只有0或1
解题思路
暴力枚举n∗mn*mn∗m,然后高精度求答案。
codecodecode
#include<cstdio>
#include<cmath>
#define ll long long
using namespace std;
ll n,xans;
int a[151],ans[151];
void add(){a[1]++;for(int i=1;i<=150;i++){if(a[i]>1)a[i]=0,a[i+1]++;}
}//下一个
bool div(int x){int gs=0,s;for(int i=150;i>=1;i--){s=gs*10+a[i];ans[i]=s/x;gs=s%x;}return !gs;
}//高精除
void write(){int w=150;while(!ans[w]) w--;while(w)printf("%d",ans[w--]);
}//输出
int main()
{scanf("%lld",&n);while(true){add();if(div(n)){write();return 0;}}
}