使用Python判断输入的整数位数并求出每个位上的值

Python023

使用Python判断输入的整数位数并求出每个位上的值,第1张

  对于给定的正整数N(N最大为5位数),求其整数位数,及个位、十位、百位、千位和万位的值,同时,举个例子,如果N是一个三位数,那么,只求其个位、十位和百位。

6.总结,不管是五位数还是四位数还是多少位数,求其中间的位的值的规则都是类似的, 先整除后取整

  对于求一个整数有多少位数的问题,我所使用的方法还是算笨的,不适合进一步扩展,实际上可以将求位数的功能封装成一个函数,思路可以是将整数转为字符串再进行长度统计,具体的求法可参考以下链接。

python求数字位数的方法

求满足如下条件的3位正整数,它除以9的商等于它的个位数字的平方和。例如224,它除以9的商为24,它的每一位数(2、2和4)的平方和也是24。

算法思路:首先,我们用range函数遍历所有的3位数,按照range(x,y)函数的语法规则,要包含所有的3位整数100~999,range函数的参数x、y应该分别取值为100和1000,即range(100,1000),然后分别计算3位数的个位、十位和百位数。计算的方法可以参考下面代码的变量a、b和c的计算方法,然后再计算出它们的平方和,最后,比较每位数的平方和是否等于此数除以9的商,如果是就输出这个数。代码如下:

程序运行结果:

132

224

315

453

535

561

635

661

753

805

815