poj——1152——An Easy Problem!
来源:互联网 发布:网络毛笔字 编辑:程序博客网 时间:2024/05/21 08:47
Description
Have you heard the fact "The base of every normal number system is 10" ? Of course, I am not talking about number systems like Stern Brockot Number System. This problem has nothing to do with this fact but may have some similarity.
You will be given an N based integer number R and you are given the guaranty that R is divisible by (N-1). You will have to print the smallest possible value for N. The range for N is 2 <= N <= 62 and the digit symbols for 62 based number is (0..9 and A..Z and a..z). Similarly, the digit symbols for 61 based number system is (0..9 and A..Z and a..y) and so on.
You will be given an N based integer number R and you are given the guaranty that R is divisible by (N-1). You will have to print the smallest possible value for N. The range for N is 2 <= N <= 62 and the digit symbols for 62 based number is (0..9 and A..Z and a..z). Similarly, the digit symbols for 61 based number system is (0..9 and A..Z and a..y) and so on.
Input
Each line in the input will contain an integer (as defined in mathematics) number of any integer base (2..62). You will have to determine what is the smallest possible base of that number for the given conditions. No invalid number will be given as input. The largest size of the input file will be 32KB.
Output
If number with such condition is not possible output the line "such number is impossible!" For each line of input there will be only a single line of output. The output will always be in decimal number system.
Sample Input
35A
Sample Output
4611
#include<iostream>#include<stdio.h>#include<string.h>using namespace std;char a[100000];int main(){ int i,s,len,max; bool d; while(scanf("%s",a)!=EOF) { len=strlen(a); s=0; max=0; for(i=0;i<len;i++) { if (a[i]>='0'&&a[i]<='9') { if (a[i]-'0'>max) max=a[i]-'0'; s=s+a[i]-'0'; } if (a[i]>='a'&&a[i]<='z') { if (a[i]-'a'+36>max) max=a[i]-'a'+36; s=s+a[i]-'a'+36; } if (a[i]>='A'&&a[i]<='Z') { if (a[i]-'A'+10>max) max=a[i]-'A'+10; s=s+a[i]-'A'+10; } } d=false; for(i=2;i<=62;i++) if (s%(i-1)==0&&max<i) {d=true;break;} if (d) printf("%d\n",i); else printf("such number is impossible!\n"); } return 0;}
- poj——1152——An Easy Problem!
- poj2826—An Easy Problem?
- hdu——An Easy Problem
- 2055——An easy problem
- 杭电2055—An easy problem
- POJ 1152 An Easy Problem
- poj-1152 An Easy Problem!
- Poj 1152 An Easy Problem!
- POJ 1152 An Easy Problem!(进位制)
- POJ 1152 An Easy Problem! 笔记
- HDU5475——An easy problem(线段树or暴力)
- POJ 2826 An Easy Problem?!
- poj 2826 An Easy Problem?!
- poj 2453 An Easy Problem
- poj 2453 An Easy Problem
- POJ 2826 An Easy Problem?!
- POJ 2826 An Easy Problem?!
- POJ 2826 An Easy Problem?!
- 自定义注解(一)
- MapReduce源码分析总结
- 用Intellij IDEA创建新项目的时候报错cannot find resource directory for module
- 程序猿的小资生活
- IXMLDOMDOCUMENT 的appendchild,removechild返回E_FAIL
- poj——1152——An Easy Problem!
- 内存中堆栈与数据结构中堆栈
- POJ 1724
- 通过rowid得到数据块的相关信息
- 遍历枚举值
- 免费的Android UI库及组件推荐
- 为什么 Objective-C 很难
- poj3259解题报告
- 穆穆推荐-软件销售行业软件公司销售参考操作手册-之5-软件行业客户分类及销售人员激励