1.在计算机存储中,12.5MB是多少字节?
:1GB=1024MB,1MB=1024KB,1KB=1024B
2.一个包含有2019个结点的有向图,最多包含多少条边?(不允许有重边)
:完全图时边最多,2019*(2019-1)
3.将LANQIAO中的字母重新排列,可以得到不同的单词,如LANQIAO、AAILNOQ等,注意这7个字母都要被用上,单词不一定有具体的英文意义。
请问,总共能排列如多少个不同的单词。
string='LANQIAO'
from itertools import permutations
#去掉重复的排列
ans=set()
for item in permutations(string):
ans.add(item)
print(len(ans))
4.由1对括号,可以组成一种合法括号序列:()。
由2对括号,可以组成两种合法括号序列:()()、(())。
由4对括号组成的合法括号序列一共有多少种?
#括号对数
n=4
ans=0
#寻找满足要求的括号匹配
def find(left,rigth):
#引用外部全局变量
global n
global ans
#左括号数量等于n
#说明一次试探结束
if left==n:
ans+=1
return
#添加一个左括号
find(left+1,rigth)
#在满足括号匹配的原则下添加右括号
if left>rigth:
find(left,rigth+1)
find(0,0)
print(ans)
n=int(input())
a,b,c=map(int,input().split())
ans=0
for i in range(1,n+1):
if i%a!=0 and i%b!=0 and i%c!=0:
ans+=1
print(ans)
string=input()
ans=''
for i in range(len(string)):
#ascii码转换
ans+=chr((ord(string[i])-97+3)%26+97)
print(ans)
1.在计算机存储中,15.125GB是多少MB
解答:1GB=1024MB,1MB=1024KB,1KB=1024B
2.1200000有多少个约数
number=1200000
from math import sqrt
n=int(sqrt(number))
count=0
for i in range(1,n+1):
if number%i==0:
count+=1
print(count)
3.一棵包含有2019个结点的二叉树,最多包含多少个叶结点?
解答:2018/2+1
4.在1至2019中,有多少个数的数位中包含数字9 注意,有的数中的数位中包含多个9,这个数只算一次。例如,1999这个数包含数字9,在计算只是算一个数。
#判断数字是否含有9
def has9(n):
flag=False
while n!=0:
a=n%10
if a==9:
flag=True
return flag
n//=10
return flag
ans=0
for i in range(1,2019+1):
if has9(i):
ans+=1
print(ans)
5.一个正整数如果任何一个数位不大于右边相邻的数位,则称为一个数位递增的数,例如1135是一个数位递增的数,而1024不是一个数位递增的数。给定正整数 n,请问在整数 1 至 n 中有多少个数位递增的数?
【输入格式】输入的第一行包含一个整数 n。
【输出格式】输出一行包含一个整数,表示答案。
【样例输入】30
【样例输出】26
#拆分数位
def splitNumber(n):
ans=[]
while n!=0:
ans.append(n%10)
n//=10
return ans[::-1]
#判断是否是递增
def isIncrement(n):
number_list=splitNumber(n)
flag=True
for i in range(len(number_list)-1):
if number_list[i]>number_list[i+1]:
flag=False
return flag
return flag
n=int(input())
count=0
for i in range(1,n+1):
if isIncrement(i):
count+=1
print(count)
6.在数列 a[1], a[2], ..., a[n] 中,如果对于下标 i, j, k 满足 0<i<j<k<n+1 且 a[i]<a[j]<a[k],则称 a[i], a[j], a[k] 为一组递增三元组,a[j]为递增三元组的中心。给定一个数列,请问数列中有多少个元素可能是递增三元组的中心。
【输入格式】输入的第一行包含一个整数 n。第二行包含 n 个整数 a[1], a[2], ..., a[n],相邻的整数间用空格分隔,表示给定的数列。
【输出格式】输出一行包含一个整数,表示答案。
【样例输入】
5
1 2 5 3 5
【样例输出】2
【样例说明】a[2] 和 a[4] 可能是三元组的中心。
n=int(input())
number_list=list(map(int,input().split()))
count=0
#判断列表当前元素是否大于其左边某个元素
def greaterThanLeft(id,number_list):
flag=False
for i in range(id):
if number_list[i]<number_list[id]:
flag=True
return flag
return flag
#判断列表当前元素是否小于其右边某个元素
def lessThanRight(id,number_list):
flag=False
for i in range(id+1,len(number_list)):
if number_list[i]>number_list[id]:
flag=True
return flag
return flag
for i in range(1,len(number_list)-1):
if greaterThanLeft(i,number_list) and lessThanRight(i,number_list):
count+=1
print(count)
7.小明对类似于 hello 这种单词非常感兴趣,这种单词可以正好分为四段,第一段由一个或多个辅音字母组成,第二段由一个或多个元音字母组成,第三段由一个或多个辅音字母组成,第四段由一个或多个元音字母组成。给定一个单词,请判断这个单词是否也是这种单词,如果是请输出yes,否则请输出no。元音字母包括 a, e, i, o, u,共五个,其他均为辅音字母。
【输入格式】输入一行,包含一个单词,单词中只包含小写英文字母。
【输出格式】输出答案,或者为yes,或者为no。
【样例输入】lanqiao
【样例输出】yes
【样例输入】world
【样例输出】no
#字符串处理
string=input()
#字符串按照元音分割后的字符串列表
string_list=[]
#字符串长度
length=len(string)
#元音字符串
match_string='aeiou'
i=0
#分割字符串
while i!=length:
#分割辅音字母组合
temp=''
while string[i] not in match_string:
temp+=string[i]
i+=1
if i==length:
break
string_list.append(temp)
if i==length:
break
#分割元音组合
temp=''
while string[i] in match_string:
temp+=string[i]
i+=1
if i==length:
break
string_list.append(temp)
if len(string_list)==4:
print('yes')
else:
print('no')