学做烤制食品的网站,伊春网站建设,企业信用修复,南宁 网站建设 公司[题目描述]#xff1a; 自幂数是指#xff0c;一个N 位数#xff0c;满足各位数字N 次方之和是本身。例如#xff0c;153153 是 33 位数#xff0c;其每位数的 33 次方之和#xff0c;135333153135333153#xff0c;因此 153153 是自幂数#xff1b;16341634 是 44 位数…[题目描述] 自幂数是指一个N 位数满足各位数字N 次方之和是本身。例如153153 是 33 位数其每位数的 33 次方之和135333153135333153因此 153153 是自幂数16341634 是 44 位数其每位数的 44 次方之和146434441634146434441634因此 16341634 是自幂数。现在输入若干个正整数请判断它们是否是自幂数。输入 输入第一行是一个正整数M表示有M 个待判断的正整数。约定 1≤M≤100。 从第 22 行开始的M 行每行一个待判断的正整数。约定这些正整数均小于 108108。输出 输出M 行如果对应的待判断正整数为自幂数则输出英文大写字母 T否则输出英文大写字母 F。 提示不需要等到所有输入结束在依次输出可以输入一个数就判断一个数并输出再输入下一个数。样例输入1 3 152 111 153
样例输出1 F F T
样例输入2 5 8208 548834 88593477 12345 5432
样例输出2 T T T F F
来源/分类难度系数一星 完整代码如下 aint(input()) b[] for i in range(a): cint(input()) b.append(c) for j in range(0,len(b)): db[j]%10 eb[j]//10%10 fb[j]//100%10 hb[j]//1000%10 kb[j]//10000%10 lb[j]//100000%10 mb[j]//1000000%10 nb[j]//10000000%10 slen(str(b[j])) if d**se**sf**sh**sk**sl**sm**sn**sb[j]: print(T) else: print(F) 代码解释 “aint(input()) b[] ”让用户输入需要判断是否为自幂数的数字的个数并将其赋给a。建立一个空列表b。 “for i in range(a): cint(input()) b.append(c) ”循环a次让用户输入具体需要判断的数并依次将其存入列表b中。 “for j in range(0,len(b)): db[j]%10 eb[j]//10%10 fb[j]//100%10 hb[j]//1000%10 kb[j]//10000%10 lb[j]//100000%10 mb[j]//1000000%10 nb[j]//10000000%10 slen(str(b[j])) ”遍历列表b中的数字依次求出其个十百千万十万百万千万位的数字d,e,f,h,k,l,m,n。然后求出该数字的位数s。 “if d**se**sf**sh**sk**sl**sm**sn**sb[j]: print(T) else: print(F) ”根据自幂数的定义判断每次遍历的数字是否为自幂数。如果是则输出“Yes”如果不是输出“No”。
运行效果展示 声明以上内容均为原创