【题目链接】

本题要求计算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 #include <stdio.h>
 2 #include <string.h>
 3
 4 #define MAX_LEN            (1024)
 5
 6 void division(char *str, int n, char *dest, int *r)
 7 {
 8     int div, q;
 9     int k, i, len = strlen(str);
10     int flag = 0;
11
12     div = 0;
13     k = 0;
14     for(i = 0; i < len; i++)
15     {
16         div *= 10;
17         div += str[i] - '0';
18         q = div / n;
19         if(q > 0)
20         {
21             dest[k++] = q + '0';
22             div = div % n;
23             flag = 1;
24         }
25         else if (q == 0 && flag != 0)
26         {
27             dest[k++] = q + '0';
28             div = div % n;
29         }
30     }
31     if(k == 0)
32     {
33         dest[k++] = '0';
34     }
35     dest[k] = '\0';
36     *r = div;
37 }
38
39 int main(void)
40 {
41     char dest[MAX_LEN];
42     char str[MAX_LEN];
43     int n, r;
44
45     //printf("input str: \r\n");
46     scanf("%s", str);
47     //printf("input n: \r\n");
48     scanf("%d", &n);
49     //printf("%s / %d =\r\n", str, n);
50
51     memset(dest, 0x00, sizeof(dest));
52     division(str, n, dest, &r);
53     printf("%s %d", dest, r);
54     return 0;
55 }

转载于:https://www.cnblogs.com/utank/p/4175435.html

PAT (Basic Level) Practise:1017. A除以B相关推荐

  1. PAT (Basic Level) Practise (中文)-1025. 反转链表 (25)

    PAT (Basic Level) Practise (中文)-1025. 反转链表 (25)   http://www.patest.cn/contests/pat-b-practise/1025 ...

  2. PAT (Basic Level) Practise (中文)-1034. 有理数四则运算(20)

    PAT (Basic Level) Practise (中文)-1034. 有理数四则运算(20)  http://www.patest.cn/contests/pat-b-practise/1034 ...

  3. 卡拉兹(Callatz)猜想,PAT(Basic Level) Practise NO.1001

    PAT(Basic Level) Practise NO.1001 卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半. 这样 ...

  4. PAT乙级真题全集-PAT (Basic Level) Practise (中文)

    1001. 害死人不偿命的(3n+1)猜想 (15) 卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半.这样一直反复砍下去, ...

  5. PAT (Basic Level) Practise 1040 有几个PAT(DP)

    1040. 有几个PAT(25) 时间限制 120 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CAO, Peng 字符串APPAPT中包含了两个单 ...

  6. PAT (Basic Level) Practise 1045 快速排序(离散化+主席树区间内的区间求和)

    1045. 快速排序(25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CAO, Peng 著名的快速排序算法里有一个经典的划分 ...

  7. PAT (Basic Level) Practise:1012. 数字分类

    [题目链接] 给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字: A1 = 能被5整除的数字中所有偶数的和: A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3- ...

  8. PAT (Basic Level) Practise - 继续(3n+1)猜想

    题目链接:https://www.patest.cn/submissions/4414905 1005. 继续(3n+1)猜想 (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限 ...

  9. PAT (Basic Level) Practise:1037. 在霍格沃茨找零钱

    [题目链接] 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西 ...

最新文章

  1. GROMACS运行参数整理(二)
  2. 双击jar运行main主函数实现-fatJAR
  3. Hive常见面试问题(持续更新)
  4. jbutton 数组创建 java_java-将JButton数组添加到JPanel(按钮不可见)
  5. STL-queue.back()队尾误区
  6. 程序人家:你的老板逼你上微服务了吗??
  7. 2017.8.7 序列计数 思考记录
  8. POJ1654 Area(多边形面积)
  9. 惊慌 Android!使用 3D 打印的头像可破解多款手机
  10. 回车(carriage return)和换行(line feed)的区别和来历
  11. date java format_java-DateFormat
  12. android6.0 goldfish内核,ubuntu16.04下编译android-goldfish-3.4内核源码(android6.0.1系统源代码)...
  13. 工商银行接口开发-java
  14. sql CASE WEN 函数
  15. Shel脚本-初步入门之《06》
  16. OPPO出货量超越苹果跻身全球第四,直逼小米
  17. python conda安装
  18. super_status_bar与status_bar的关系
  19. ES6看这一篇就够了
  20. 区块链源代码分析(1)

热门文章

  1. android开发调用照相机
  2. 有向图强连通分量的三种算法
  3. 汇编语言--div指令
  4. 动态规划--用最少的硬币类别找零钱
  5. UDP调用connect
  6. c_str()和strcasecmp
  7. linux三 gdb/makefeile/io
  8. 《编码:隐匿在计算机软硬件背后的语言(美)》读书笔记三
  9. 让程序员薪资上升一个level的良心十条建议,你有做到吗?
  10. Ubuntu 16.04 GNOME在桌面左侧添加启动器(Launcher)