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 进制数,并满足以 ...
随机推荐
- springmvc.xml 中报错:Start state is missing. Add at least one state to the flow
最近一个学弟问我关于整合springMVC和spring出现的配置文件springmvc.xml出现的Start state is missing. Add at least one state to ...
- GPS轨迹发生模拟器介绍
GPS轨迹发生模拟器介绍 GPS信号模拟器能够模拟卫星信号运动轨迹,模拟GPS卫星导航系统的导航信号.GPS轨迹发生器可以模拟导航系统确定位置点如日期.时间.经度.纬度.海拔信息.速度等.GPS轨迹模 ...
- DIY 作品 及 维修 不定时更新
手机电池DIY充电宝 2块,优质手机电池加一个升压ic ,焊上一个 usb 母头.比买的强多了. 还能调压,最高调到24V 可以带白光焊台. 更换手机 SIM/SD 卡二合一 贴上高温胶带,吹下来. ...
- 网址封锁的几种方法 公司把 pan.baidu.com 封了 研究实现原理
HTTP 和 HTTPS 协议HTTP 协议在 头部会发送 host 就是要访问的域名,可以用来被检测. HTTPS 协议虽然会加密全部通讯,但是在握手之前还是明文传输.有证书特证可被检测. 1, D ...
- 用Navicat Premium 连接mysql数据库时报错 -- 1130 Host xxxx is not allowed to connect to this MySQL server
用Navicat Premium 连接mysql数据库时报错 报错原因:此时的MySQL默认不能远程连接. 解决方案:修改MySQL配置 具体步骤: 1.登陆服务器,进入数据库 mysql -uroo ...
- vue-cli实现最简单的全选、全不选、反选功能。不容错过呦!!!!!话不多说直接上代码。。。。
<template> <div class="hello"> <input type="button" name="al ...
- 基于 HTML + WebGL 结合 23D 的疫情地图实时大屏 PC 版
前言 2019年12月以来,湖北省武汉市陆续发现了多例肺炎病例,现已证实为一种新型冠状病毒感染引起的急性呼吸道传染病并蔓延全国,肺炎疫情牵动人心,人们每天起来第一件事变成了关注疫情进展,期望这场天灾早 ...
- failed to open directory
解决方法: 解决方案的路径不要包含中文!
- kafka原理解析
两张图读懂kafka应用: Kafka 中的术语 broker:中间的kafka cluster,存储消息,是由多个server组成的集群. topic:kafka给消息提供的分类方式.broker用 ...
- 聊聊order by rand()
总结写在前面: 1. 不建议直接使用order by rand(),原因是执行代价比较大 2. 介绍了内存临时表,对于内存临时表,由于回表不需要访问磁盘,所以往往是用rowid排序,可以减少参与排序字 ...