《算法笔记》3.5小节——入门模拟->进制转换
A题
注意,这个里面因为两个都是满int,所以会出现爆int,不仅仅sum用longlong,a和b也需要,pat B1022里面就不会爆
(实测a和b在int时候题目会报错,因为int和long貌似不能直接转换成long long,只保留底字符什么的)
还有就是,如果不使用do while,在初始状态和0的情况下会无输出,一定要强制执行一次,或者初始count直接从0占位0开始
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#include<stdio.h> int main() { int m; long long a,b; while(scanf("%d",&m) && m!=0) { scanf("%lld %lld",&a,&b); long long sum=a+b; int num[10000]; int count=0; do { num[count++]=sum%m; sum=sum/m; }while(sum!=0); for(int i=count-1;i>=0;i--) { printf("%d",num[i]); } printf(" "); } return 0; }