对于给定的正整数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