当前位置: 代码迷 >> 综合 >> xtu oj Problem C 1401 相同的数码
  详细解决方案

xtu oj Problem C 1401 相同的数码

热度:56   发布时间:2023-12-04 23:45:04.0

相同的数码

题目描述

一个整数n在b进制下的,无前导0的数码为akak?1… a0????????????????????????????,如果这些数码都是相同的,我们称n在b进制下数码相同。 请求2?100进制下,最小的b进制使得n是数码相同的。

输入格式

第一行是一个整数T(1≤T≤20000),表示样例的个数。

每个样例是一个整数n(1≤n≤109)。

输出格式

依次每行输出一个样例的结果,为一个整数b。 如果没有b(2≤b≤100)使得n在b进制下数码相同,输出0。

样例输入

4
1
2
3
1000000000

样例输出

2
3
2
0
#include<stdio.h>
int judge(int b,int c)
{int a[31];int i=0,flag=0;for(;flag==0;i++){a[i]=b%c;b=b/c;if(b==0) flag=1;if(a[i]==0) return 0;if(i>=1){if(a[i]!=a[i-1])return 0;}} return 1;
}
int main()
{int k;scanf("%d",&k);while(k--){int n,j,cnt=0;scanf("%d",&n);for(j=2;j<=100;j++){if(judge(n,j)){cnt=j;break;}}printf("%d\n",cnt);}
}

  相关解决方案