百炼OJ 2972 2973

简介: 一、2972相邻数字的基数等比:确定进制      所谓基数等比就是后一个数与前一个数有倍数的关系。如 111 = 1 + 1 * 2(1 + 2 * 1);      给定 如 11 11 121 确定进制是3 和 10 ,只输出最小的进制,即3;    1 /* ...

一、2972相邻数字的基数等比:确定进制

     所谓基数等比就是后一个数与前一个数有倍数的关系。如 111 = 1 + 1 * 2(1 + 2 * 1);

     给定 如 11 11 121 确定进制是3 和 10 ,只输出最小的进制,即3;

  

 1 /*            author :bakari
 2  *            2-16进制的计算
 3  *            特点:相邻数字的基数等比
 4  *            规律:x1x2x3(任意进制) ---> d1d2d3(十进制)(进制为p)
 5  *            x1*p(k-1) + x2*p(k-2) + x3*p(k-3) = p(k-3)(x3p + x1*p(2)) = p(k-3)(p(x3 + x1*p));
 6  */
 7 #include <iostream>
 8 #include <cstring>
 9 using namespace std;
10 
11 int const Max = 8;
12 
13 long RanToTen(const char *x ,const int& b)   //p代表进制
14 {
15     int nLen = strlen(x);
16     long ret = 0;
17     for (int i = 0; i != nLen; ++i){
18         if ((x[i] - '0') >= b) return -1;
19         ret *= b;
20         ret += x[i] - '0';
21 
22     }
23     return ret;
24 }
25 
26 int main()
27 {
28     char p[Max],q[Max],r[Max];
29     long pa , qa , ra;
30     int n ;
31     cin >> n;
32     while(n--){
33         int i;
34         cin >> p >> q >> r;
35         for (i = 2; i <= 16; ++i){
36             pa = RanToTen(p,i);
37             qa = RanToTen(q,i);
38             ra = RanToTen(r,i);
39             if (-1 == pa || -1 == qa || -1 == ra) continue;
40             if (pa * qa == ra){
41                 cout << i <<endl;
42                 break;
43             }
44         }
45         if (17 == i) cout<<"0"<<endl;
46     }
47     return 0;
48 }

二、2973相邻数字的基数不等比 :俗称skew数

      给定如 10120 转换后为 1 * (2^5 - 1)+ 0 * (2^4 - 1)+ 1 * (2^3 - 1)+ 2 * (2^2 - 1)+0 * (2^1 - 1)

      

 1 /*                author:bakari
 2  *                和一般进制转换不同,此进制基数不等比
 3  *                第k位的值Xk = Xk * (2^(k+1) - 1)
 4  *                令base[0] = 1;则:base[k] = 2^(k+1) - 1 = 2 * (2^k - 1) + 1 = 2 * base[k-1]+1;
 5  */
 6 
 7 #include <iostream>
 8 #include <cstring>
 9 using namespace std;
10 
11 const int MaxBit = 31;
12 int base[MaxBit];
13 
14 long int Transe(const char *x);
15 
16 int main()
17 {
18     char str[MaxBit];
19     base[0] = 1;
20     for (int i = 1; i != MaxBit; ++i)
21         base[i] = 2 * base[i-1] + 1;
22     while (1){
23         cin >> str;
24         if (Transe(str) == 0)
25             break;
26         else cout << Transe(str) <<endl;
27     }
28     return 0;
29 }
30 
31 long int Transe(const char *x)
32 {
33     int nLen = strlen(x);
34     long ret = 0;
35     if (strcmp(x,"0") == 0) return 0;
36     for (int i = 0,k = nLen - 1; i != nLen; ++i,--k){
37         ret += (x[i] -'0') * base[k];
38     }
39     return ret;    
40 }

个人总结:多角度思考问题

目录
相关文章
|
索引 流计算 消息中间件
Flink 实时写入数据到 ElasticSearch 性能调优
线上业务反应使用 Flink 消费上游 kafka topic 里的轨迹数据出现 backpressure,数据积压严重。单次 bulk 的写入量为:3000/50mb/30s,并行度为 48。针对该问题,为了避免影响线上业务申请了一个与线上集群配置相同的 ES 集群。
|
9月前
|
存储 弹性计算 安全
ECS与VPS技术角力:从算力成本到免备案雷区,企业服务器选型合规指南
在数字化浪潮中,服务器选择至关重要。ECS(云服务器)和VPS(虚拟专用服务器)是热门选项。ECS基于云计算,提供高可用性和弹性伸缩,适合大型项目;VPS通过分割物理服务器实现资源独立,成本较低,适合小型应用。两者在网络、存储及计算性能上各有优劣,需根据需求选择。国内并不存在合法的免备案服务器,建议严格遵守法规,确保网站合法运营。
421 3
|
搜索推荐 Python
利用Python内置函数实现的冒泡排序算法
在上述代码中,`bubble_sort` 函数接受一个列表 `arr` 作为输入。通过两层循环,外层循环控制排序的轮数,内层循环用于比较相邻的元素并进行交换。如果前一个元素大于后一个元素,就将它们交换位置。
273 67
|
11月前
|
存储 大数据 数据挖掘
Pandas高级数据处理:大数据集处理
Pandas 是强大的 Python 数据分析库,但在处理大规模数据集时可能遇到性能瓶颈和内存不足问题。本文介绍常见问题及解决方案,如分块读取、选择性读取列、数据类型优化、避免不必要的副本创建等技巧,并通过代码示例详细解释。同时,针对 `MemoryError`、`SettingWithCopyWarning` 和 `DtypeWarning` 等常见报错提供解决方法,帮助读者更高效地处理大数据集。
476 16
|
Python
Python量化炒股的获取数据函数—get_security_info()
Python量化炒股的获取数据函数—get_security_info()
229 1
|
搜索推荐 Java API
探索淘宝API接口:为电商业务开启无限可能
淘宝API接口是淘宝平台为第三方开发者提供的一组开放接口,通过这些接口,开发者可以获取淘宝平台上的商品信息、交易数据、用户行为等关键数据,并基于这些数据开发各种应用。淘宝API接口支持多种编程语言,如Java、Python、PHP等,方便开发者根据自己的需求进行选择和开发。
|
安全 数据安全/隐私保护 Python
【震撼揭秘】:密码大战公钥!解锁信息安全认证技术的惊天秘密与实战应用,带你领略数字世界的终极防线!
【8月更文挑战第20天】信息安全中,认证技术确保用户身份真实,本文对比基于口令认证与基于公钥基础设施(PKI)认证。前者简便但易受攻击,常需配合多因素认证加强安全性;后者利用数字证书及公/私钥机制,提供更高安全保障。随着技术演进,未来认证手段将更趋多元高效。
216 2
|
NoSQL 安全 Linux
Linux 安装 Redis (一)单机模式,详细图解
Linux 安装 Redis (一)单机模式,详细图解
1200 1
|
开发框架 前端开发 开发者
Layui----动态树
Layui----动态树
211 0
|
编解码 并行计算 测试技术
如何使用 YOLOv5 获得最佳 mAP 和最佳训练结果
如何使用 YOLOv5 获得最佳 mAP 和最佳训练结果
1729 0

热门文章

最新文章