poj 1331 Multiply

POJ 1331解题报告---确定进制 每行三个数字,分别找到每个数字最大的单个位的数字,然后再选出这三个单个位数字当中最大的那个,因为进制肯定大于数当中的所有单个数字,比如如果一个数当中有数字5,那起码得6进制才能表示这个数。这样找到最大的单个数字之后我们就确定了这行的这三个数可能能用的最小进制,按照题目的要求最大可能进制为16,且题目说了输入的数字都是整数,于是我们也不必再考虑输入的数字带有字母的情况(进制大于10)。这样子就从该行 阅读详情

Multiply
Time Limit: 1000MS Memory Limit: 10000K
Total Submissions: 5179 Accepted: 2773

Description

6*9 = 42" is not true for base 10, but is true for base 13. That is, 6(13) * 9(13) = 42(13) because 42(13) = 4 * 131 + 2 * 130 = 54(10). 

You are to write a program which inputs three integers p, q, and r and determines the base B (2<=B<=16) for which p * q = r. If there are many candidates for B, output the smallest one. For example, let p = 11, q = 11, and r = 121. Then we have 11(3) * 11(3) = 121(3) because 11(3) = 1 * 31 + 1 * 30 = 4(10) and 121(3) = 1 * 32 + 2 * 31 + 1 * 30 = 16(10). For another base such as 10, we also have 11(10) * 11(10) = 121(10). In this case, your program should output 3 which is the smallest base. If there is no candidate for B, output 0. 

Input

The input consists of T test cases. The number of test cases (T ) is given in the first line of the input file. Each test case consists of three integers p, q, and r in a line. All digits of p, q, and r are numeric digits and 1<=p,q, r<=1,000,000.

Output

Print exactly one line for each test case. The line should contain one integer which is the smallest base for which p * q = r. If there is no such base, your program should output 0.

Sample Input

3
6 9 42
11 11 121
2 2 2

Sample Output

13
3
0

题意:给你三个数字p,q,r,问在哪个最小的进制下p*q=r成立;

注意:如果在k进制下p,q,r的每位上的数字应该要小于k;

#include <iostream>
#include <string.h>
using namespace std;
int change(char *a,int k){
	int len=strlen(a);
	int ans=0;
	for (int i=0;i<len;i++){
		ans = ans*k + a[i]-'0';
	}
	return ans;
}
bool isBig(char *a,int k){
	int len=strlen(a);
	for (int i=0;i<len;i++){
		if (a[i]-'0'>=k)
			return false;
	}
	return true;
}
int main(){
	char a[10],b[10],r[10];
	int t,i;
	cin>>t;
	while (t--){
		cin>>a>>b>>r;
		for (i=2;i<=16;i++){
			if (isBig(a,i)==true && isBig(b,i)==true && isBig(r,i)==true){
				int aa = change(a,i);
				int bb = change(b,i);
				int rr = change(r,i);
				long long ans = aa*bb;
				long long ans2 = rr;
				if (ans==ans2)
					break;
			}
			
		}
		if (i==17)
			i=0;
		cout<<i<<endl;
	}
	return 0;
}




保姆级教程:用Unidbg搞定阿里系App的x-sign和长x-mini-wua签名(附完整Java代码) 本文详细介绍了如何使用Unidbg框架模拟执行阿里系App的原生库,生成关键的x-sign和x-mini-wua签名参数。通过完整的Java代码示例和实战技巧,帮助开发者高效实现签名算法,适用于安全研究、数据分析和第三方应用开发场景。 阅读详情

相关推荐

机械臂标准DH建模及正运动学分析(以IRB4600型工业机械臂为例)

对于工业机械臂而言,运动学是不考虑力学特性的情况下对机械臂的几何参数与其位置、速度、加速度等运动特性的关系研究。DH建模是运动学的基础,全称为Denavit-Hartenberg建模方法,是一种广泛应用于机器人运动学中的建模技术。该方法通过在每个连杆上建立坐标系,并利用齐次坐标变换来实现连杆之间的坐标转换。通过依次变换,可以推导出末端执行器相对于基坐标系的位姿,从而建立机器人的运动学方程。以IRB4600型六自由度工业机械臂为例,选择标准DH建模方法,建立其正运动学模型。

chen_mp的博客 1万+

POJ 1331(确定进制)

题意:可以看百练2972 现在要逐渐使用函数来减少主函数的复杂程度。使程序清晰。 做题方法:判断p*q = r,因为long足以表示,所以可以先转化为10进制,然后从进制2~16遍历即可。 用到的算法是秦九韶算法。 #include #include long bten(char *x,int b){ long ret = 0; int lenth = strlen(x)

Since_natural_ran 563

CTP-API开发系列之三:柜台系统简介

综合交易平台(Comprehensive Transaction Platform,CTP)是专门为期货公司开发的一套期货经纪业务管理系统,由交易、风险控制和结算三大系统组成。接下来分享的内容,对于期货公司的负责交易、运维同事会比较熟悉,针对CTP-API接口对接的朋友可以了解一下,在接口之上的系统是怎样的。

码上助君的专栏 6195

poj-1331

// 356K 0MS G++ #include #include using namespace std; char p[20]; char q[20]; char r[20]; int caseNum; inline int MAX(int a, int b) { return a > b ? a: b; } int cal(const char* num, int base)

fyfcauc的专栏 595

VBA常见错误 - “错误3706,未找到提供程序,该程序可能未正确安装”解决方法

1、问题描述 在利用VBA编程时,引用其它表格数据,出现以下问题: (1)运行“错误3706,未找到提供程序,该程序可能未正确安装”。 (2)引用数据失败 2、解决方法 下载“Access 2010 数据库引擎”,并安装即可。 https://www.microsoft.com/en-us/download/details.aspx?id=54920 AccessDatabaseEngine 2010 官方安装包,官网下载不了的可以来这里下载。(1)运行“错误3706,未找到提..

Nemuel的博客 3万+

vfsglobal预约系统登录问题全解析(by quqi99)

本文全面解析VFS Global预约系统登录常见问题,包括IP限制、验证码验证失败及账号自动删除等。提供详细的解决方案,如DNS配置、浏览器设置及邮箱选择建议,帮助用户顺利完成签证预约。特别针对中国用户遇到的IP限制问题,给出了实用技巧。

gamma的博客 1340

poj1331(strtol进制转换)

Multiply Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 6018   Accepted: 3123 Description 6*9 = 42" is not true for base 10, but is true for base 13. That i

Kyrie_10的博客 379

CODESYS安装全攻略:从下载到配置的保姆级教程(含常见问题解决)

本文提供了一份详细的CODESYS安装与配置指南,涵盖从系统环境准备、安装包下载、Development System安装到Runtime System配置的全过程。教程重点解决了安装过程中的常见权限、兼容性和连接问题,并指导用户完成第一个PLC程序的创建与调试,帮助工业自动化开发者快速上手这一通用开发平台。

kkk56的博客 420

poj1331(浅谈进制转换)

题意:给出三个数a、b、c,求a*b=c在哪个进制下成立。 进制转换,显然是一个非常简单的问题。我们仅需要掌握n进制-10进制 和 10进制-n进制转换即可以由此完成任意进制数的转换了。 今天主要讲的是进制转换的stl实现方法——strtol函数。以下引用自百度。 long int strtol(const char *nptr,char **endptr,int

xffyjq的博客 765

软考中级-软件设计师 知识点整理(一篇就过了 建议收藏)

软考中级-软件设计师上午题知识点总结

片言可决讼,半纸能缚龙 17万+

用AList挂载网盘,无损看VR电影教程,无需下载到PICO头显本地!

用AList挂载网盘 + WebDAV直连头显,看片像拉本地一样流畅,不怕卡顿、不怕没空间,简直是VR看片刚需配置!别再用U盘传电影了,用AList + WebDAV,直接流畅看4K,看片效率翻倍,体验提升一个档次!

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 5539

POJ | 1331 Multiply进制转换

好像有几天没有写了,之前其实耶做了一题不过忘了写题解了,记得填坑记得好象是1026 置换群什么的。 今天写的是1331单单纯纯地数位转换,其实没什么特别注意的,不过在进行等比进制转换的时候采用秦九韶算法可以明显优化速度,诶嘿! POJ 1331 Multiply Description 6*9 = 42" is not true for base 10, but is

sinat_34613832的博客 365

poj1331——Multiply

看了discuss,学了一个库函数 --------strtol。 #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; #include&lt;string.h&gt; #define N 10000 int main() { int i,n,m,x,y,z; char a[9],b[9],c[9],temp[9]; scanf...

★不可思议★ 137

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

POJ 1331 Multiply G++

给出p、q、r。判断在几进制情况下 p*q=r 能成立。

woniupengpeng的专栏 321

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

POJ 1331 Multiply 进制转换

只是简单的转换了一下进制,很容易 Multiply Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 4761   Accepted: 2551 Description 6*9 = 42" is not true for base 10, but is true for

zck921031的专栏 776

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

POJ 1331 Multiply

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33932129的博客 134

POJ1331 UVALive2526 Multiply【暴力+进制】

Multiply Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 5943   Accepted: 3084 Description 6*9 = 42" is not true for base 10, but is true for base 13. That i

海岛Blog 902

POJ1331 Multiply(strtol函数练习)

题目链接:http://poj.org/problem?id=1331 主要介绍strtol函数: long int strtol(const char *nptr,char **endptr,int base); strtol函数会将参数nptr字符串根据参数base来转换成长整型数。 参数base范围从2至36,或0。参数base代表采用的进制方式,如base值为10则...

weixin_30251829的博客 97

GitHub热榜日榜机制解读:qzonearchive如何实现QQ空间数据本地化备份

在开源社区中,GitHub热榜日榜是开发者集体注意力的直观体现,它基于24小时内的star、fork等社交信号增量排序,本质上是一场技术共鸣投票。理解这一机制有助于把握技术风向与真实需求。与此同时,个人数据备份逐渐成为开发者和普通用户共同关注的议题——平台数据所有权归属于服务商,用户仅拥有使用权,这使得将社交内容迁移回本地成为一项必要的数字化自我管理技能。借助爬虫技术、静态站点生成原理以及核心的登录态与Cookie处理,qzonearchive项目构建了一条从抓取、解析到导出静态HTML的完整数据流水线,能

weixin_34306593的博客 455

进制转换变形题 poj 1331 Multiply

乍一看还觉得挺简单,谁知道一做就是一两个小时~~ 大致题意:第一行 输入几行测试数据 m 接下来 m 行输入 x,y,z 三个数 要使在k进制的情况下x*y=z; 更详尽的中文翻译如下:(出自openjudge) 总时间限制: 1000ms内存限制: 65536kB 描述 6*9 = 42 对于十进制来说是错误的,但是对于13进制来说是正确的。即, 6(13) * 9(13)

你的写轮眼,究竟还能看多远呢 674

【基础训练-进制转换】Multiply

Description 6*9 = 42" is not true for base 10, but is true for base 13. That is, 6(13) * 9(13) = 42(13) because 42(13) = 4 * 131 + 2 * 130 = 54(10).  You are to write a program which inputs th

It's the Climb 288
上一篇: 初学DP(2) 黑书中的《棋盘分割》
下一篇: poj 2140 Herd Sums
JinbaoSite0144
博客等级 码龄12年 231粉丝 157原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值