1017 A除以B

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int main(){
	string s;
	vector<char>s1;
	vector<char>ans;
	int b;
	cin>>s>>b;
	if(s.size()==1){
		int k=s[0]-'0';
		if(k>=b){
			cout<<k/b<<" "<<k%b;
		}else{
			cout<<"0 "<<k;
		}
		return 0;
	}
	for(int i=0;i<s.size();i++){
		s1.push_back(s[i]);
	}
	int cnt=0;//保留倒数第二个余数 
	int pre=0;//保留前一个数 
	for(int i=0;i<s.size();i++){
		if(s1[i]-'0'>=b){
			int k=s1[i]-'0';
			k=cnt*10+k;
			cnt=k%b;
			pre=cnt;
			s1[i]=k%b+'0';
			k=k/b;
			ans.push_back(k+'0');
		
		}else{
			int k1=s1[i]-'0';
			//int k2=s1[i+1]-'0';
			k1=pre*10+k1;
			s1[i]=k1%b+'0';
			cnt=k1%b;
			pre=cnt;
			int k3=k1/b;
			ans.push_back(k3+'0');
		}
	}
//		int k1=cnt;
//			int k2=s1[s.size()-1]-'0';
//			k1=k1*10+k2;
//			cnt=k1%b;
//			int k3=k1/b;
//			ans.push_back(k3+'0');
	int r;
	r=cnt;
	int flag=0;
	for(int i=0;i<ans.size();i++){
		if(ans[i]!='0'&&flag==0){
			flag=1;
		}
		if(flag!=0)
		cout<<ans[i];
	}
	cout<<" "<<r;
}
相关推荐
KangkangLoveNLP3 分钟前
手动实现一个迷你Llama:使用SentencePiece实现自己的tokenizer
人工智能·深度学习·学习·算法·transformer·llama
独好紫罗兰8 分钟前
洛谷题单3-P1420 最长连号-python-流程图重构
开发语言·python·算法
柯ran32 分钟前
数据结构|排序算法(一)快速排序
数据结构·算法·排序算法
Once_day35 分钟前
Linux错误(6)X64向量指令访问地址未对齐引起SIGSEGV
linux·c++·sse·x64·sigsegv·xmm0
pipip.37 分钟前
搜索二维矩阵
数据结构·算法·矩阵
JhonKI1 小时前
【从零实现Json-Rpc框架】- 项目实现 - 客户端注册主题整合 及 rpc流程示意
c++·qt·网络协议·rpc·json
uhakadotcom1 小时前
图像识别中的三大神经网络:Inception、ResNet和VGG
算法·面试·github
__lost1 小时前
为什么new分配在堆上,函数变量在栈上+递归调用时栈内存的变化过程
c++·内存分配
努力学计算机的小白一枚1 小时前
146. LRU 缓存 && 带TTL的LRU缓存实现(拓展)
算法·缓存
uhakadotcom1 小时前
DeepFM算法:提升CTR预估和推荐系统的强大工具
算法·面试·github