算法笔记:又一版 A+B(Python和C/C++)

这篇博客介绍了如何解决A+B问题,涉及C++和Python两种编程语言。文章通过对比两种语言的不同之处,如循环结构和取余、整除运算,展示如何在m进制下计算两个非负整数的和。提供了C++和Python的代码示例,帮助读者理解算法的实现细节。
摘要由CSDN通过智能技术生成

题目描述
输入两个不超过整型定义的非负10进制整数A和B(<=231-1),输出A+B的m (1 < m <10)进制数。

输入
输入格式:测试输入包含若干测试用例。每个测试用例占一行,给出m和A,B的值。
当m为0时输入结束。

输出
输出格式:每个测试用例的输出占一行,输出A+B的m进制数。
在这里插入图片描述

C++代码:

#include<cstdio>

int main(){
	long long A,B,sum;
	int m;
	while(scanf("%d",&m)!=EOF)
	{
		if(m==0) break;
		scanf("%lld %lld",&A,&B);
		sum = A + B;
		int ans[64],num=0;
		do{
			ans[num++]=sum%m;
			sum=sum/m;
		}while(sum!=0);
		
		for(int i=num-1;i>=0;i--)
			printf("%d",ans[i]);
		printf("\n");
	}
	return 0;
}

Python代码:

while 1:
    m,A,B=map(int,input().split())
    if (m == 0):
        break;
    sum=A+B
    ans=[None]*64
    num=0;
    while 1:
        ans[num]=sum%m
        sum = sum//m
        num += 1
        if(sum==0):
            break;
    for i in range(num-1,-1,-1):
        print(ans[i],end='')
    print()

关于C++和Python的一些不同:
1、在Python中没有do…while循环,如果想要达到这种效果,需要从while 1进入,在循环体末尾加上一个条件判断来终止循环。
2、C++中,取余用的是 % ,取整除需要用 /
Python中,取余用%,取整除需要用 // ( / 在Python中是计算浮点数除法,直接返回结果的浮点数形式)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值