zoukankan      html  css  js  c++  java
  • “盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛 E

    Claire Redfield在龙之谷游戏的一次任务中获得了一个上了锁的宝箱,上面刻了一串由小写字母构成的字符串A和一个数字

    经过Claire长时间研究,他发现密码是和 有关的。字符串A相当于一个26进制的数字, 相当于 相当于 ……. 相当于25  。然后要将这个26进制的数转化成 进制那就是这个宝箱的密码。

    Claire觉得这个太简单了所以要你帮她完成。

    多组输入,每组一行,输入一个字符串 和一个正整数
    字符串长度<=102<=m<=

    每组输出一行答案,如题意。

    复制
    b 2
    1

    主要是处理26进制转化吧
     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 #define LL long long
     4 #define ULL unsigned long long
     5 LL modl(LL a, LL b)        //快速幂取余a^b%c
     6 {
     7     LL res, t;
     8     res = 1 ;
     9     t = a ;
    10     while (b)
    11     {
    12         if (b & 1)
    13         {
    14             res = res * t ;
    15         }
    16         t = t * t ;
    17         b >>= 1;
    18     }
    19     return res;
    20 }
    21 int main()
    22 {
    23     LL n;
    24     string s;
    25     LL a[1000];
    26     LL g;
    27     while(cin>>s>>g)
    28     {
    29         memset(a,0,sizeof(a));
    30         LL sum=0;
    31         reverse(s.begin(),s.end());
    32         for(int i=0;i<s.length();i++){
    33             LL ans=(int)(s[i]-'0')-49;
    34             sum+=(ans*modl(26,i));
    35           //  cout<<sum<<endl;
    36         }
    37         //cout<<sum<<endl;
    38         n=sum;
    39         int i=0;
    40         if(n==0){
    41             cout<<"0";
    42         }else{
    43             while(n){
    44                 a[i]=n%g;
    45                 n/=g;
    46                 i++;
    47             }
    48             for(int j=i-1;j>=0;j--){
    49                 cout<<a[j];
    50             }
    51         }
    52         cout<<endl;
    53     }
    54 }
  • 相关阅读:
    RESTful API 设计指南
    Memcached的使用
    Flask快速入门
    5.数据结构--递归
    4.数据结构--链表
    3.数据结构--队列
    2.数据结构--栈
    lnmp1.5安装fileinfo扩展
    JavaScript.内置对象
    JavaScript.之引用类型
  • 原文地址:https://www.cnblogs.com/yinghualuowu/p/7163687.html
Copyright © 2011-2022 走看看