zoukankan      html  css  js  c++  java
  • python-趣味百题1

    1.尾数前移:求一个自然数N,个位数是6,将6移到最前面所得数是N的4倍。

    思路:

    1).令末尾数t=6,除末位以外部分为n

    2).t连续*10移动到最高位,再加上n

    3).t+n==(10*n+6)*4

    def fun(n):
        nn = n
        t = 6
        while nn > 0:
            t *= 10
            nn /= 10       
            m=10 * n + 6
        if t + n == m * 4:
            print m
    for x in range(1,100000):   
        fun(x)

    2.水仙花数:是指一个n位数(n>=3),它的每个位上的数字的n次幂之和等于它本身,求100-999之间所有的水仙花数 例如:1^3+5^3+3^3=153

      def isArmstrongNumber():
        a = []
        t = n
        while t > 0:
            a.append(t % 10)
            t /= 10
           
        k = len(a)
        s = 0
        for x in a:
            s += x ** k
            return s == n

    for x in range(100,1000):
        if isArmstrongNumber(x): print x

    3.不重复的三位数:0-9这10个数可以组成多少个不重复的三位数

    l = range(10)
    count = 0
    for a in l[1:]:
        for b in l:
            if a == b:continue #过滤a == b
            for c in l:
                if c != a and c != b:#过滤a == c,b == c
                    print a,b,c
                    count += 1
    print 'count:',count

    4.自守数:如果某个数的平方的末尾几位等于这个数,那么就称这个数为自守数。显然,5和6是一位自守数,求10000以内的自守数

    for n in range(1,10000):
        l = len(str(n))
        t = n * n % (10 * l)
        if t == n:
            print n

    #列表解析 print [for n in range(1,10000) if n * n % (10 * len(str(n))) == n]

    5.孪生素数:两个素数之差为2,求1-100之间所有孪生素数 筛法找素数:

    1).建立一张表,用True,False标识一个数是否是素数

    2).找到一个素数p。然后把p的倍数都标记成非素数

    3).查表检测p+1,如果非素数检测下一个,是素数执行1的操作

    pt = [True]*100
    res = []

    for p in range(2,100):
        if not pt[p]:continue
        res.append(p)
        for i in range(p * p,100,p):
            pt[i] = False
    print res

    for i in range(1,len(res)):
        if res[i] - res[i-1] == 2:
            print res[i-1],res[i]

  • 相关阅读:
    spring data实现自定义的repository实现类,实现跟jpa联通
    SQLYog快捷键大全
    JSP 中EL表达式用法详解
    java中的标记接口
    单元测试中快速执行某个方法
    Spring Boot 以 jar 包方式运行在后台
    Spring Data JPA
    扩展spring data jpa的数据更新方法时注意事项
    在Spring Data JPA 中使用Update Query更新实体类
    高速创建和mysql表相应的java domain实体类
  • 原文地址:https://www.cnblogs.com/lucia8522/p/6709985.html
Copyright © 2011-2022 走看看