[白俊]4673号:セルフサービス番号(Python)
質問する
私の最初の答え
setNum=set(i for i in range(1,10000))
genNum=set()
def d_number(n):
n+=sum(map(int,str(n)))
return n
for i in setNum:
genNum.add(d_number(i))
print(sorted(setNum.difference(genNum)))
setnumの範囲指定エラー.私の2番目の答え
setNum=set(i for i in range(1,10001))
genNum=set()
def d_number(n):
n+=sum(map(int,str(n)))
return n
for i in setNum:
genNum.add(d_number(i))
print(sorted(setNum.difference(genNum)))
出力フォーマットエラーが検出されました.因子を1つずつ印刷します.
私の答え
setNum=set(range(1,10001))
genNum=set()
def d_number(n):
n+=sum(map(int,str(n))) #각자리 더하기
return n
for i in setNum: #생성자 추가
genNum.add(d_number(i))
for i in sorted(setNum.difference(genNum)):
print(i)
#print(sorted(setNum.difference(genNum))) #전체 수에서 생성자가 아닌 수(셀프넘버) 출력
生成されていない数字を自動番号と呼びます.それを求めて印刷します.
まず、生成者を計算し、セルフ番号ではなく数字を求める.
全体的に除外すればいいです.
setNumには1から10000までの数字が格納されています.
gennumは空の集合を格納します.
d number関数は問題のd(n)に各ビット数を加算する.つまり、生成者を持つ数字を求める.
空のコレクションに後続の作成者を追加します.
for i in sorted(setNum.difference(genNum)):
差異を使用して、グローバル(setNum)からジェネレータセット(genNum)を除外し、セカンダリセットから除外します.昇順に並べる.
Reference
この問題について([白俊]4673号:セルフサービス番号(Python)), 我々は、より多くの情報をここで見つけました https://velog.io/@yj_lee/백준-4673번-셀프-넘버파이썬テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol