1272: 【基础】求P进制数的最大公因子与最小公倍数
1272: 【基础】求P进制数的最大公因子与最小公倍数
时间限制: 1 Sec 内存限制: 16 MB
提交: 684 解决: 415
[提交] [状态] [讨论版] [命题人:外部导入]
题目描述
有两个P进制的整数A,B,求出A,B的最大公因子与最小公倍数,并仍以P进制数的形式输出。
输入
一行,为P A B。(2≤P≤9)
输出
两行 第一行为最大公因子 第二行为最小公倍数
样例输入
2 110 1001
样例输出
(110,1001)=11
[110,1001]=10010
来源/分类
2003年江苏省小学生信息学(计算机)奥赛
题解如下
#include<stdio.h>
#include<string.h>
#include<math.h>
long long int transfer_ten(char *a,int LEN,int jin_zhi)
{
long long int sum=0;
int position=0;
for(int i=LEN-1;i>=0;i--)
{
sum+=(a[i]-'0')*pow(jin_zhi, position++);
}
return sum;
}
void trans_print(long long int zhi,int jin_zhi)
{
char array[99999];
if(zhi==0)
{
array[0]='0';
}
else
{
for(int i=0; ;i++)
{
if(zhi)
{
array[i]=(zhi%jin_zhi+'0');
zhi/=jin_zhi;
}
else
{
break;
}
}
}
int LEN=(int)strlen(array);
for(int i=LEN-1;i>=0;i--)
{
printf("%c",array[i]);
}
}
int main()
{
int jin_zhi;
char ar[9999],br[9999];
scanf("%d%s%s",&jin_zhi,ar,br);
int LEN_ar=(int)strlen(ar);
int LEN_br=(int)strlen(br);
long long int sum_ar=transfer_ten(ar, LEN_ar, jin_zhi);
long long int sum_br=transfer_ten(br, LEN_br, jin_zhi);
//交换并求 约数,倍数
if(sum_ar>sum_br)
{
long long temp;
temp=sum_ar;
sum_ar=sum_br;
sum_br=temp;
}
long long int product=sum_ar*sum_br;
long long int yu_shu=sum_ar%sum_br;
while (yu_shu)
{
sum_ar=sum_br;
sum_br=yu_shu;
yu_shu=sum_ar%sum_br;
}
long long int max_yue=sum_br;
long long int min_bei=product/sum_br;
printf("(");
for(int i=0;i<LEN_ar;i++)
printf("%c",ar[i]);
printf(",");
for(int i=0;i<LEN_br;i++)
printf("%c",br[i]);
printf(")=");
trans_print(max_yue, jin_zhi);
printf("\n");
printf("[");
for(int i=0;i<LEN_ar;i++)
printf("%c",ar[i]);
printf(",");
for(int i=0;i<LEN_br;i++)
printf("%c",br[i]);
printf("]=");
trans_print(min_bei, jin_zhi);
return 0;
}
1272: 【基础】求P进制数的最大公因子与最小公倍数的更多相关文章
- Java编程基础——运算符和进制
Java编程基础——运算符和进制 摘要:本文主要介绍运算符和进制的基本知识. 说明 分类 Java语言支持如下运算符: ◆ 算术运算符:++,--,+,-,*,/,%. ◆ 赋值运算符:=,+=,-= ...
- [codevs1157]2^k进制数
[codevs1157]2k进制数 试题描述 设r是个2k 进制数,并满足以下条件: (1)r至少是个2位的2k 进制数. (2)作为2k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. ...
- noip2006 2^k进制数
设r是个2k进制数,并满足以下条件: (1)r至少是个2位的2k进制数. (2)作为2k进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. (3)将r转换为2进制数q后,则q的总位数不超过w ...
- 关于不同进制数之间转换的数学推导【Written By KillerLegend】
关于不同进制数之间转换的数学推导 涉及范围:正整数范围内二进制(Binary),八进制(Octonary),十进制(Decimal),十六进制(hexadecimal)之间的转换 数的进制有多种,比如 ...
- NOIP2006 2k进制数
2^k进制数 题目描述 设r是个2^k 进制数,并满足以下条件: (1)r至少是个2位的2^k 进制数. (2)作为2^k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. (3)将r转换 ...
- P1066 2^k进制数
传送门 题目描述 设r是个2^k 进制数,并满足以下条件: (1)r至少是个2位的2^k 进制数. (2)作为2^k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. (3)将r转换为2进 ...
- 洛谷 P1066 2^k进制数
P1066 2^k进制数 题目描述 设r是个2^k 进制数,并满足以下条件: (1)r至少是个2位的2^k 进制数. (2)作为2^k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. ( ...
- java标签(label)求16进制字符串的整数和 把一个整数转为4个16进制字符表示
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #4f76cb } p.p2 { margin: 0.0px 0. ...
- 一本通1649【例 2】2^k 进制数
1649:[例 2]2^k 进制数 时间限制: 1000 ms 内存限制: 524288 KB [题目描述] 原题来自:NOIP 2006 提高组 设 r 是个 2k 进制数,并满足以 ...
随机推荐
- 怎么用一行HTML代码搭建一个谷歌镜像?
<iframe src="google.com"></iframe>
- day05基本运算符,格式化输出,垃圾回收机制
内容大纲:1.垃圾回收机制详解(了解) 引用计数 标记清除 分代回收 2.与用户交互 接收用户输入 # python3中 input # python2.7(了解) input raw_input 格 ...
- ES6引入的Reflect对象目的何在?
Reflect对象其实就是为了取代Object对象.取代原因有一下几点: 1)Object对象的一些内部方法放在了Reflect上面,比如:Object.defineProperty.主要是优化了语言 ...
- Oracle批量插入有日期类型数据
例如现在有张表 id(number) startTime(date) name(varchar2) 1 2017-08-13 zhangsan 2 2017-08-14 zhangsan 需要批量 ...
- openwrt sdk 编译工具 及 hello world
需要先在 make menuconfig 中打开 sdk make -j4在 bin\targets\ramips\mt7620生成一个openwrt-sdk-ramips-mt7620_gcc-7. ...
- 如何优雅的使用AbpSettings
在Abp中配置虽然使用方便,但是每个配置要先定义key,要去provider中定义,再最后使用key从ISetting中获取还是挺麻烦的一件事, 最主要是获取修改的时候,比如,修改用户配置,是从获取一 ...
- 【python系统学习10】布尔值
python的数据类型有好多个,前边写过字符串.整数和浮点数这三种. 本节来整理另一种简单数据类型--布尔值 布尔值(bool) 布尔值和其数据值 计算机可以用数据进行判断,若判断为真则执行特定条件中 ...
- go 创建slice的方式
1.直接声明:var slice []int 2.new: slice := *new([]int) 3.字面量:slice := []int{1,2,3,4,5} 4.make: slice := ...
- js 实现端口列表话
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 解开Service Mesh的神秘面纱
一.什么是Service Mesh? 下面是 Willian Morgan 对 Service Mesh 的解释: A Service Mesh is a dedicated infrastructu ...