亚马逊如何做折扣网站的营销,wordpress 嵌入 php代码,kkday是哪里做的网站,wordpress批量修改文章信息文章目录 题目描述求解思路实现代码 题目描述
给定两个非负整数#xff08;不含前导0#xff09;A#xff0c;B#xff0c;请你计算 A/B 的商和余数。
输入格式
共两行#xff0c;第一行包含整数A#xff0c;第二行包含整数B。
输出格式
共两行#xff0c;第一行输… 文章目录 题目描述求解思路实现代码 题目描述
给定两个非负整数不含前导0AB请你计算 A/B 的商和余数。
输入格式
共两行第一行包含整数A第二行包含整数B。
输出格式
共两行第一行输出所求的商第二行输出所求余数。
数据范围
1 ≤ A的长度 ≤ 100000。1 ≤ B ≤ 10000。B一定不为 0
求解思路
本题的求解思路仍然是通过编程模拟除法的竖式计算但是和加减乘法又不一样的地方。由于除法竖式计算中是从被除数的最高位开始因此存放被除数的数组应该用小端存放高位大端存放低位。最后和之前的 高精度减法 和 高精度乘法 两道算法题类似最后的结果需要去除前导零。
实现代码
#include iostream
#include vector
using namespace std;vectorint div(const vectorint a, const int b)
{vectorint result;int jinwei(0);for(int i(0); i a.size(); i){int beichushu a[i] 10 * jinwei;result.push_back(beichushu / b);jinwei beichushu % b;}result.push_back(jinwei);return result;
}int main(void)
{//变量定义部分string a;int b;vectorint a_vector;//变量输入部分cin a b;for(int i(0); i a.length(); i) a_vector.push_back(a[i] - 0);//除法运算并去除前导零部分vectorint result div(a_vector, b);while(result[0] 0 result.size() 2) result.erase(result.begin());//变量输出部分for(int i(0); i result.size() - 1; i) cout result[i];cout endl result[result.size() - 1];return 0;
}注意事项
本题中要求同时输出商和余数但是C中只能一次返回一个变量所以本题中将返回向量的最后一个元素设置为余数。实际使用过程中可以为div函数传入一个新的整数引用类型的参数r这样在div函数中修改r则主函数中的r的值也会随之变化从而解决了一次只能返回一个值的问题。