#include <stdio.h>
#include <string.h>
int a[20];
int b[20];
//将十进制数转化成 base进制
void baseConvert(int num,int * array,int base)
{
int i = 0;
while(num)
{
array[i] = num % base;
num = num / base;
i++;
}
}
void basePrint(int * arr)
{
int i = 0;
while(arr[i] != -1)
i++;
for(i=i-1;i>-1;i--)
printf("%d",arr[i]);
}
void calculate(int base,int x,int y)
{
baseConvert(x,a,base);
baseConvert(y,b,base);
int k = 0; //这个是进位
int i = 0;
int res[20];
//int res[20] = {-1}; 这种初始化不管用
memset(res,-1,sizeof(res));
while( a[i] != -1 && b[i] != -1)
{
res[i] = a[i] + b[i] + k;
k = 0;//用过的进位马上清零
if(res[i] >= base)
{
k = res[i] / base;
res[i] = res[i] % base;
}
i++;
}
if(a[i] == -1)
{
while(b[i] != -1)
{
res[i] = b[i] + k;
k = 0;
if(res[i] >= base)
{
res[i + 1] = res[i] / base;
res[i] = res[i] % base;
}
i++;
}
}
if(b[i] == -1)
{
while(a[i] != -1)
{
res[i] = a[i] + k;
k = 0; //此处千万记住,用过的进位 一定要清零!!!!!!
if(res[i] >= base)
{
k = res[i] / base;
res[i] = res[i] % base;
}
i++;
}
if( k!= 0)
res[i] = k;
}
basePrint(a);
printf(" + ");
basePrint(b);
printf(" = ");
basePrint(res);
printf("\n");
}
int main()
{
int base,x,y;
memset(a,-1,sizeof(a));
memset(b,-1,sizeof(b));
//while(scanf("%d %d %d",&base,&x,&y),base,x,y) 如果加上 \n 则要输入四个0 才会停止???
while(scanf("%d %d %d",&base,&x,&y),base,x,y)
{
calculate(base,x,y);
memset(a,-1,sizeof(a));
memset(b,-1,sizeof(b));
}
return 0;
}
如果将那个baseConvert函数修改,则下面的计算将更简单
int baseConvert(int num,int * array,int base)
{
int i = 0;
while(num)
{
array[i] = num % base;
num = num / base;
i++;
}
return i--;
}
分享到:
相关推荐
joj 部分题目答案 自己做的 仅供参考 joj 部分题目答案 自己做的 仅供参考 joj 部分题目答案 自己做的 仅供参考 joj 部分题目答案 自己做的 仅供参考 joj 部分题目答案 自己做的 仅供参考
在JOJ上做的一些ACM试题,都通过在线测试。
本程序能实现操作系统中的先进先出页面置换算法
一些题目解答 1001-1012 自己做的,希望能帮助到一些朋友
可以为在JOJ上练习的同学做入门使用,这些代码全部通过。
joj acm 源代码,即一些题得答案,方便大家联系参考。加油吧。
Etre au courant quand JoJ est en live,策划人semaine et liens vers lesréséauxauxsocioaux Soyez au courant纠结JoJ开始à流光! 现场直播将继续进行。 约翰·奎因·伊斯特·布鲁和克林·德集团的非官方网站 D...
吉林大学 joj 1000-2645题代码,嘿嘿,大家就不用在花JPOINT买代码了,祝ACMer实现自己的心愿
Joj 以与 JDOM 提供 XML 的 Java 表示类似的方式提供 Java 源代码的 Java 对象表示。
硬币转化问题。用动态规划解决,不是很难。
这个题其实现在想起来也不知道是怎么就给ac的。
整理的ACM题集,吉林大学的,pdf格式,jilin univercity online judge system
关于大数取模的运算,比如说:a^b%m。下面提供2种解法。
插件 :star: Jovo插件插件使您可以轻松扩展Jovo Framework,而不必弄乱其核心代码和体系结构。 查看以了解如何创建自己的插件。插件清单要将您的插件添加到下表中,请分叉存储库,然后以与其他插件相同的格式将您的...
该mod基于荒木飞吕彦的JoJo的奇妙冒险漫画和动漫系列。 这个mod也受到KnightDemon的1.12 mod 极大启发。 这个mod的目的是要从专营权中尽可能多地增加Minecraft,该mod目前仅包含Stand能力,其他能力(Hamon,...
furystudios 普尔维·扎达塔克(Prvi zadatak) ...DroppingOff - radnikhodajućidolazi做pripadajuće科萨雷(izvedeno kroz provjeru tagova kutije)我卡达joj JE dovoljno blizu,fizičkiJE lan
Este Projeto签证是由estoque进行的,它是由mer mercadorias uma determinada empresa sejam averiguadas和atualizadas autoamente na tela do computador制成的。 计划书 Projeto:SIG清单:Sistema de Controle ...
大智慧最新安装包,老的已经过期不能查询个人自选股,所以推荐最新的大智慧给大家安装