【问题描述】
在1至2019中,有多少个数的数位中包含数字9?
注意,有的数中的数位中包含多个9,这个数只算一次。例如,1999这个数包含数字9,在计算时只是算一个数。
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
我的简陋代码:肯定不合格,勉强能用,思路是吧1-2019的数字看作字符串。
count=0
for i in range(1,2020):
b=str(i)
if b.rfind('9')!=-1:
count+=1
print(count)
题目
【问题描述】
一个正整数如果任何一个数位不大于右边相邻的数位,则称为一个数位递增的数,例如1135是一个数位递增的数,而1024不是一个数位递增的数。
给定正整数 n,请问在整数 1 至 n 中有多少个数位递增的数?
【输入格式】
输入的第一行包含一个整数 n。
【输出格式】
输出一行包含一个整数,表示答案。
【样例输入】
30
【样例输出】
26
【评测用例规模与约定】
对于 40% 的评测用例,1 <= n <= 1000。
对于 80% 的评测用例,1 <= n <= 100000。
对于所有评测用例,1 <= n <= 1000000。
我的简陋代码:
s=int(input())
if s<=9:
print(s)
else:
count=0
for i in range(1,s+1):
b=str(i)
for j in range(len(b)):
for k in range(j+1,len(b)):
j=int(b[j]);k=int(b[k])
if j<=k:
count+=1
# print(j,k)
# print(j+k)
print(count+9)
我的思路: 这道题做的时候,刚开始只知道第一个数和第二个数比较,后面一个数嵌套到里面做遍历就好了;后面寻思着怎么比较第二个和第三个数?? 琢磨着可以用if嵌套,满足后者比前者大就继续,然后这个思路后面几题直接起飞
题目
【问题描述】
在数列 a[1], a[2], …, a[n] 中,如果对于下标 i, j, k 满足 0 给定一个数列,请问数列中有多少个元素可能是递增三元组的中心。
【输入格式】
输入的第一行包含一个整数 n。
第二行包含 n 个整数 a[1], a[2], …, a[n],相邻的整数间用空格分隔,表示给定的数列。
【输出格式】
输出一行包含一个整数,表示答案。
【样例输入】
5
1 2 5 3 5
【样例输出】
2
【样例说明】
a[2] 和 a[4] 可能是三元组的中心。
【评测用例规模与约定】
对于 50% 的评测用例,2 <= n <= 100,0 <= 数列中的数 <= 1000。
对于所有评测用例,2 <= n <= 1000,0 <= 数列中的数 <= 10000。
我的简陋代码:
n=int(input())
s=list(map(int,input().split()))
count=0;d=[]
for i in range(n):
for j in range(i+1,n):
if s[j]>s[i]:
for k in range(j+1,n):
if s[k]>s[j]:
count+=1
# print(s[i],s[j],s[k])
d.append(s[j])
d=list(set(d))
print(len(d))
我的思路:延续上一题的思路:先if比较第二个数和第一个数值,满足了接着for嵌套,比较 if s[k]>s[j]: 值,满足存入列表d
题目
【问题描述】
小明对类似于 hello 这种单词非常感兴趣,这种单词可以正好分为四段,第一段由一个或多个辅音字母组成,第二段由一个或多个元音字母组成,第三段由一个或多个辅音字母组成,第四段由一个或多个元音字母组成。
给定一个单词,请判断这个单词是否也是这种单词,如果是请输出yes,否则请输出no。
元音字母包括 a, e, i, o, u,共五个,其他均为辅音字母。
【输入格式】
输入一行,包含一个单词,单词中只包含小写英文字母。
【输出格式】
输出答案,或者为yes,或者为no。
【样例输入】
lanqiao
【样例输出】
yes
【样例输入】
world
【样例输出】
no
【评测用例规模与约定】
对于所有评测用例,单词中的字母个数不超过100。
这道题我延续上一题的if嵌套到for里面的思路,实现类似递归的找值。
写的注释是为了测试if嵌套的点能不能按我的要求执行
s=list(map(str,input()))
#print(s)
a=['a','e','i','o','u'];count=0
if s[0] not in a :
# print("1")
if s[-1] in a :
# print("maybe")
for i in range(1,len(s)):
if s[i] in a :
# print("change?")
for j in range(i+1,len(s)):
if s[j] not in a :
count=1
if count==1:
print("yes")
else:
print("no")
else:
print("no")
题目
【问题描述】
小明想知道,满足以下条件的正整数序列的数量:
我的简陋代码:
s=int(input())
for i in range(1,s+1):
if i<=s:
print(s,i)
for j in range(1,s):
if j<abs(s-i):
print(s,i,j)