PAT (Basic Level) Practice (中文)1017 A除以B (20分)
2024-10-18 16:03:03
1017 A除以B (20分)
本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。
输入格式:
输入在一行中依次给出 A 和 B,中间以 1 空格分隔。
输出格式:
在一行中依次输出 Q 和 R,中间以 1 空格分隔。
输入样例:
123456789050987654321 7
输出样例:
17636684150141093474 3
总结
- 这道题是一道典型的大数问题,使用数组模拟法来模拟手工除法
- 第二个测试点是测试当Q为0时的情况,输入样例
1 2
,此时cnt为0,需要单独增加条件判断输出0
#include <stdio.h>
int
main( int argc, char **argv )
{
int i;
int b, r;
int cin;
int cnt = -1;
int n[1000];
for( i = 0; i < 1000; i++ ){
char temp;
scanf("%c", &temp);
if( temp != ' ' ){
n[i] = temp - '0';
cnt++;
}else{
break;
}
}
scanf("%d", &b);
for( i = 0, cin = n[0]; i < cnt; i++ ){
int c_tmp = cin;
cin = ( cin * 10 + n[i+1] ) % b;
n[i+1] = ( c_tmp * 10 + n[i+1] ) / b;
}
for( i = 1; i <= cnt; i++ ){
printf("%d", n[i]);
}
if( cnt == 0 ){
printf("0");
}
printf(" %d", cin);
return 0;
}
最新文章
- mysql update操作
- Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK fla
- (翻译)初学者的object-C指南
- uva11082 Matrix Decompressing
- Scrapy运行报错解决方案
- ctype.h库函数
- 【Python】Python与文本处理langid工具包的文本语言检测和歧视
- Dockerfile 构建镜像 - 每天5分钟玩转容器技术(13)
- 使用Entify Framework 6.x的事务操作
- asp.net core如何自定义端口/修改默认端口
- rsync 自动创建目录的坑点
- 【嵌入式开发】gcc 学习笔记(一) - 编译C程序 及 编译过程
- JavaFX——简单的日记系统
- 16、for-of循环
- 运维wiki
- python3 第二十六章 - 内置函数之Number相关
- jQuery EasyUI combobox多选及赋值
- 自学Linux Shell13.2-选项处理(主要getopt、getopts命令)
- 超详细 Nginx 极简教程,傻瓜一看也会!
- strcat的几种实现及性能比较