您的位置:首页 > 编程语言 > Python开发

PAT (Basic Level) Practise (中文)——1017. A除以B (20)

2018-01-26 16:02 771 查看
禁不住想写一点关于正在做的PAT的,当然是有关Python的。

 先放题目:

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



然后是AC代码:
a,b=map(int,input().split())
f=a//b
y=a%b
print(f,y)


其实,本来没想用Python写的,但是一看这是大数,用C++很麻烦,我个人又是一个很懒的人,所以就选择一种几乎不用写多少的方法(Python特别适合写大数,讲真)

先看题目↓



1000位!!!!!!!!
还有别人的吐槽--》python对大数的处理比较简单,c语言则不支持大数。

然后,想简单写一写我自己写的时候遇到的一些问题:
比如:
①python 中如何实现一行输入多个值 ?

python2的raw_input以及python3的input获取的是整行的字符串。读进来后,字符串有着著名的split可以根据分隔符拆解成子串组成的list。对于list内的对象,需要的采取转换,保留字符串的继续保留即可。对于你这个题目所描述的需求,可以写成一句话:a, b, c = map(int, raw_input().split())如果是py3,自行替换raw_input为input
作者:Coldwings

链接:https://www.zhihu.com/question/45060860/answer/131756445

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
‘’‘
原来知乎复制粘贴有链接啊,省的我待会再写引用资料了(*^▽^*)
’‘’

②python输出串、多行、数字、空格
引用自:https://www.cnblogs.com/xuefang/p/7084367.html
之前只见过print手动换行,结果现在需要一个空格……而且字符串和数字肯定不能用'+'(你问我为什么,我会告诉你我试过,然后报错了吗( ̄▽ ̄)/)
--》字符和数字可用逗号拼接,不能相加
比如,写print(a,' ',b)或者print(a,b)效果一样(a,b均为数字)
③python 怎样才能不使用科学计数法
引用自:https://zhidao.baidu.com/question/2204769903083307788.html
比如我有:

f=-1e+100

我想让它转化成不带科学计数法形势的字符串,也就是有100个0的形式。

普通 str() 还是会转化成科学计数法的形式。

该怎么弄?
ANSWER:
f=-1e+100

print '%f'%f
④Python去掉小数点后的零
--》python通过floor函数舍弃小数位
引用自:http://outofmemory.cn/code-snippet/11554/python-through-floor-function

import math
print(math.floor( x ))

例如:x=1.2,返回1.0

其返回值为浮点数,如果希望返回整数,可以写成:

import math
#from outofmemory.cn
print(int(math.floor( x )))

输出结果:1


再有,还想保存点东西(http://www.runoob.com/python/python-numbers.html)









内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python PAT