[これがコードテスト]36日目


📍 百俊1977-完全平方数
百俊1977-完全平方数
私の草
完全な平方数を作るときは根を計算するだけだと思っていましたが、反例があるので平方形を取り直すことを初めて知りました.
また,根取り時にmath.sqrtの代わりにi ** 0.5を用いることで,計算を容易に行うことができる.△これも初めて知りました.
  • first = int(i ** 0.5)
  • さん根(i^0.5)
  • second = first ** 2
  • first再繰返し二乗(i^2)
  • while文を使わなくてもいいです.
    append値がない場合は、( num == [] )とともに使用されます.
    m = int(input())
    n = int(input())
    
    num = []
    for i in range(m, n+1):
        root = int(i ** 0.5)
        if i == root ** 2:num.append(i)
    
    if num == []:
        print(-1)
    else:
        print(f'{sum(num)}\n{min(num)}')
    📍 白駿4673-セルフサービス番号
    白駿4673-セルフサービス番号
    int型をstrに変換して計算します.
    条件nが10000であるため、forクエリの範囲は10001に設定される.
    問題がうまく解決されなければ、すぐに諦めて、別の方法で解決しようとして、最後までやり遂げる能力を育てなければなりません.
    def d(n):
        result = 0
        for i in str(n):
            result = result + int(i)
        return result + int(n)
    
    a=[]
    for j in range(1, 10001):
        n = d(j)
        a.append(n)
    
    for k in range(1,10001):
        if k not in a:
            print(k)