PAT乙级题1017.A除以B
来源:互联网 发布:我给男闺蜜飞机知乎 编辑:程序博客网 时间:2024/06/01 10:11
1017. A除以B (20)
时间限制
100 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue
本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。
输入格式:
输入在1行中依次给出A和B,中间以1空格分隔。
输出格式:
在1行中依次输出Q和R,中间以1空格分隔。
输入样例:123456789050987654321 7输出样例:
17636684150141093474 3
解题思路:被除数为字符数组,除数为一位整数,从数组的第一位开始每个字符转化为整数然后进行运算,再将结果存入新的数组,因为除数是一位整数,
所以被除数最大为两位数字,每次取商,再取余再加和下一位,直到运算到数组尾,特判一下如果长度为1的时候,并且商为0,直接输出0,余数为除数本身。
贴代码:
#include<stdio.h>#include<string.h>int main(){char a[1001],b[1005];int i,len,temp=0,n,R,count=0;scanf("%s%d",a,&n);len = strlen(a);temp = a[0] - '0';if(temp >= n){b[count] = temp / n +'0';count ++;}for(i = 1;i < len;i++){R = temp % n;temp = R*10 + a[i] - '0';b[count] = temp / n + '0';count ++;}b[count] = '\0';R = temp % n;if(len == 1 && temp < n)printf("0 %d\n",a[0]-'0');elseprintf("%s %d\n",b,R);return 0;}
阅读全文
0 0
- PAT乙级题1017.A除以B
- PAT乙级 1017. A除以B
- PAT 乙级 1017. A除以B
- PAT(乙级)1017. A除以B
- PAT-乙级-1017. A除以B (20)
- PAT乙级:1017. A除以B (C)
- PAT乙级.1017. A除以B (20)
- PAT乙级 1017. A除以B (20)
- 1017. A除以B (20) PAT乙级
- PAT乙级1017. A除以B (20)
- 1017. A除以B (20)--PAT乙级
- [PAT-乙级]1017.A除以B
- PAT乙级 1017. A除以B (20)
- PAT乙级1017. A除以B (20)
- PAT 乙级 1017. A除以B (20)
- [PAT乙级]1017. A除以B (20)
- pat 乙级 1017. A除以B (20)
- PAT-乙级-1017. A除以B
- C语言基础之宏定义(附代码)
- Jsch 创建ssh连接
- 面向对象编程七大原则
- PEP8中文翻译(转)
- S5PV210-uboot解析(三)-start_armboot解析-gd_t和init_sequence函数指针数组
- PAT乙级题1017.A除以B
- 数字 输入正则控制
- 获取href超链接中的参数并把它们展示到页面上的input输入框中
- 学习通上的平时分
- Node.js 命令行程序开发教程
- 几个可以替代百度的搜索引擎
- Android 生成随机颜色值
- iOS
- 解决input输入框中出现undefined的情况:三目运算