Module: (Python) 整数除法和余数


Problem

8 /18


数字排列

Theory Click to read/hide

整数除法和余数

在处理数字的数字时,需要应用计算除法余数的操作。 
 
任务
给出了一个三位数。显示这个数字的所有数字,从单位开始,得到一个由单位和百位排列组成的新数字。

我们总是将数字视为一个整体,但不要忘记数字是由数字组成的。你如何选择一个数字的所有数字?
事实上,如果你还记得数学,一切都可以很简单地解决。而数学告诉我们,任何数都可以分解成数项之和。

例如:365 = 3*100 + 6*10 + 5*1 .
我们看到每个数字都是相应位项的乘数。 

我们将展示如何使用除以数字 10 的列来将数字的每个数字放入一个单独的变量中。我们取数字 10,因为我们有一个十进制数字系统,相应地,位项 1、10、100 等。

  

分析图,你可以看到,  <前> e = n% 10 # 操作 n % 10 - 计算数字 n 的最后一位 #(即个位数)365 % 10 = 5 d = n // 10% 10 # 操作 n // 10 - 将数字减少 10 倍, # 即丢弃数字的最后一位 (365 // 10 = 36), # 现在我们可以计算十位数了, # 对结果应用熟悉的操作 - # 计算除以10后的余数,36 % 10 = 6 s = n // 100 # 要得到百位数字,去掉数字右边的两位就够了, # 即两次除以 10 # (n // 10 // 10 或与 n // 100 相同) 365 // 100 = 3
将数字的数字存储在变量中后,我们可以通过将所需数字乘以适当的位因数(乘以 1、10、100 等)从中得到任何其他数字: 
例如,下面的行将从原始数字 n 中得到一个新数字,重新排列了百位和个位:
1)个位(存放在 e中) 乘以 100
2) 十位(保存在变量d中)  乘以 10
3) 我们可以简单地将百位数乘以1,或者简单地取变量s中存储的值。
然后点 1、2 和 3 的值必须简单地相加,我们得到一个新数字: <前> n1 = e*100 + d*10 + s;
完整的程序将如下所示: <前> n = 整数(输入()) e = n% 10 d = n // 10% 10 s = n // 100 打印(e, d, s, e*100 + d*10 + s)

Problem

输入
从键盘输入一个自然的三位数。

印记
在一行中输出数字的空格分隔的和以及通过排列个位和十位形成的新数字。

 

例子
<头> <日># <正文>
输入 输出
1 123 6132