51Nod 1116 K进制下的大数
来源:互联网 发布:mysql 官网下载旧版本 编辑:程序博客网 时间:2024/06/03 06:55
有一个字符串S,记录了一个大数,但不知这个大数是多少进制的,只知道这个数在K进制下是K - 1的倍数。现在由你来求出这个最小的进制K。
例如:给出的数是A1A,有A则最少也是11进制,然后发现A1A在22进制下等于4872,4872 mod 21 = 0,并且22是最小的,因此输出k = 22(大数的表示中A对应10,Z对应35)。
Input
输入大数对应的字符串S。S的长度小于10^5。
Output
输出对应的进制K,如果在2 - 36范围内没有找到对应的解,则输出No Solution。
Input示例
A1A
Output示例
22
方法1
#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;#define MAXN 100010char s[MAXN];int a[MAXN];int main(){ int n,k,j,num1,num2,mod;scanf("%s",s);n = strlen(s);k = 2;for(int i = n-1; i >= 0; i--) {if(s[i] >= '0' && s[i] <= '9') {a[j] = s[i]-'0';k = max(k,a[j]+1);}else {a[j] = s[i]-'A'+10;k = max(k,a[j]+1);} j++;}a[j]='\0';for(;k <= 36;k++) { num1 = 0; num2 = 1; mod = k - 1;for(int i=0;i<n;i++){num1 = (num1 + a[i]*num2%mod )%mod;num2 = num2*k%mod;}if(num1 == 0) break;}if(k < 37) printf("%d\n",k);else printf("No Solution\n");return 0;}
方法2:K ≡ 1 (mod K-1) (K>=2)
#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;#define MAXN 100010char s[MAXN];int main(){ int n,k,sum;scanf("%s",s);sum = 0;n = strlen(s);k = 2;for(int i = n-1; i >= 0; i--) {if(s[i] >= '0' && s[i] <= '9') {sum += s[i]-'0';k = max(k,s[i]-'0'+1);}else {sum += s[i]-'A'+10;k = max(k,s[i]-'A'+11);} }for(;k <= 36;k++) { if(sum % (k-1) == 0) break;}if(k < 37) printf("%d\n",k);else printf("No Solution\n");return 0;}
0 0
- 51NOD 1116 K进制下的大数
- 51nod 1116 K进制下的大数
- 51Nod 1116 K进制下的大数
- 51nod 1116 K进制下的大数
- 51nod 1116 K进制下的大数
- 51nod 1116 K进制下的大数
- 51Nod 1116 K进制下的大数
- 51nod 1116 K进制下的大数
- 51nod 1116 K进制下的大数
- 51nod 1116 K进制下的大数
- 51nod 1116 K进制下的大数
- 51Nod 1116 K进制下的大数
- K进制下的大数 51Nod
- 51nod 1116 K进制下的大数 (暴力枚举)
- 51Nod-1116-K进制下的大数
- 51nod 1116 K进制下的大数 暴力/数论
- 51Nod 1116 K进制下的大数【数学】
- 51nod 1116 K进制下的大数 利用同余式的乘法传递性质
- python2 爬取新浪帐号所有微博
- 51822服务发现(db_discovery)
- 瀑布流布局javascript or css3实现
- 获得页面地址栏传递来的id
- 1——初识keras
- 51Nod 1116 K进制下的大数
- ionic 各个关系流程
- gitlab和sourcetree配置ssh绕坑
- 安卓WebView加载腾讯视频无法播放
- iOS 主菜单旋转罗盘及demo
- ThreadLocal可能引起的内存泄露
- xfs文件系统的备份与恢复
- python sdk 登入微博
- Tomcat --> Cannot create a server using the selected type