Uva 10093 - An Easy Problem!

来源:互联网 发布:淘宝联盟推广赚钱吗 编辑:程序博客网 时间:2024/06/13 09:32

中午在机房想A的一道题

没A了

关键在于读题

题意

给定一个未知进制下的数,找到x进制,使得这个数整除x-1

若不存在blablabla

6Y

#include<stdio.h>#include<string.h>#include<algorithm>int f(char x){if(x>='0'&&x<='9')return x-'0';if(x>='A'&&x<='Z')return x-'A'+10;if(x>='a'&&x<='z')return x-'a'+36;return 0;}int main(){char s[1010];while(scanf("%s",s)!=EOF){int len=strlen(s),i,j;int res=2;for(i=0;i<len;i++)res=std::max(res,f(s[i])+1);int x=0;for(i=0;i<len;i++)x+=f(s[i]);if(s[i]=='-')x=-x;for(;res<=62;res++)if(x%(res-1)==0)break;if(res==63)printf("such number is impossible!\n");else printf("%d\n",res);}return 0;}

5464

AC: 20