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;
}
相关推荐
海石6 分钟前
1563分的简单题,可能就简单在能被暴力AC
算法·leetcode
海石16 分钟前
1400分的dp汗流浃背之【交替子数组计数】
算法·leetcode
奋发向前wcx20 分钟前
P2590 树的统计 题目解析
数据结构·算法·深度优先
2023自学中44 分钟前
C++ 内存追踪器
linux·c++
imbackneverdie1 小时前
AI4S不止于分子药物:以MedPeer为代表的科研基建打开产业新增量
大数据·人工智能·算法·aigc·科研·学术·ai 4s
额鹅恶饿呃2 小时前
C语言中的数据结构和变量
c语言·数据结构·算法
运行时记录3 小时前
prompt-optimizer skill
算法
万法若空4 小时前
【数据结构-哈希表】哈希表原理
数据结构·算法·散列表
退休倒计时4 小时前
【每日一题】LeetCode 437. 路径总和 III TypeScript
算法·leetcode·typescript
学逆向的4 小时前
汇编——内存
开发语言·汇编·算法·网络安全