题目1026:又一版 A+B
来源:互联网 发布:形容程序员的搞笑图片 编辑:程序博客网 时间:2024/05/15 23:48
- 题目描述:
输入两个不超过整型定义的非负10进制整数A和B(<=231-1),输出A+B的m (1 < m <10)进制数。
- 输入:
- 输入格式:测试输入包含若干测试用例。每个测试用例占一行,给出m和A,B的值。
当m为0时输入结束。
- 输出:
- 输出格式:每个测试用例的输出占一行,输出A+B的m进制数。
- 样例输入:
8 1300 482 1 70
- 样例输出:
25041000
代码:
#include <stdio.h>int main() { int m; long long a,b; //while(scanf("%d %lld %lld",&m,&a,&b)!=EOF) { while(scanf("%d",&m)!=EOF) { if(m == 0) break; scanf("%lld %lld",&a,&b); long long sum = a + b; if(sum == 0) printf("0\n"); else { int buf[50]; int i=0; while(sum != 0) { buf[i++] = sum % m; sum /= m; } int j; for(j=i-1;j>=0;j--) printf("%d",buf[j]); printf("\n"); } } return 0;}
使用了数据类型long long。这是一种用64位二进制来表示一个整数的数据类型,取值范围为
-2^63 ~ 2^63 - 1。 本题中输入了数虽然在int范围(<=2^31 - 1)内,但是他们的和就可能超过
int范围了。 对应的输入,输出用 %lld.
在16位环境下,int/unsigned int 占16位,long/unsigned long占32位
在32位环境下,int占32位,unsigned int占16位,long/unsigned long占32位
何时需要使用:
long 和 int 范围是[-2^31,2^31),即-2147483648~2147483647,而unsigned范围是[0,2^32),即0~4294967295,所以常规的32位整数只能够处理40亿左右,当遇到比40亿大的多的数就要用到64位。
long long 占64位
注意a = 0, b = 0这组数据。
- 题目1026:又一版 A+B
- 题目1026:又一版 A+B
- 题目1026:又一版 A+B
- 题目1026:又一版 A+B
- 43-题目1026:又一版 A+B
- 题目1026:又一版 A+B 学习
- 题目1026:又一版 A+B
- 题目1026:又一版 A+B
- 题目1026:又一版 A+B
- 题目1026:又一版 A+B
- 题目1026:又一版 A+B
- 九度OnlineJudge题目1026:又一版 A+B
- 九度 题目1026:又一版 A+B java
- 题目 1026 又一版 A+B 九度Online Judge
- 九度 题目1026:又一版 A+B
- 九度OJ-题目1026:又一版A+B
- 九度题目1026又一版A+B
- 题目1026:又一版 A+B【进制转换】
- 请回答下 一个大学生的疑惑。
- 线程控制--互斥锁与条件变量
- C/C++中的内存分区及堆栈相关知识
- hdu 4628 ——Pieces
- 【草根儿学-C++笔记1】typedef和#define
- 题目1026:又一版 A+B
- Java NIO例子——MINA的最简单模型
- poj 3245 Sequence Partitioning dp+二分+单调队列
- LC_ALL, LC_*, locale 相关
- vc++消息映射与命令通知
- javaScript 动态增加数组内容 用push
- 存储过程和触发器
- 开通CSDN博客
- 生成树的计数Matrix-Tree定理