牛客网语法篇练习循环控制(一)

简介: 牛客网语法篇练习循环控制(一)

1.2023年就要来到了,KiKi要对他的n位好朋友说n遍”Happy new year!Good luck!”的祝福语。

n = int(input())
for i in range(n):
    print('Happy new year!Good luck!')

2.任意输入一个正整数N,统计1~N之间奇数的个数和偶数的个数,并输出。

num = int(input().strip())
m,n = 0,0
for i in range(1,num+1):
    if i%2 == 1:
        m += 1
    else:
        n += 1
print(m,n)

3.KiKi知道了质数(只能被1和他自身整除的数),他想知道所有三位整数中,有多少个质数。

import math
n = 0
for i in range(100,1000):
    for j in range(2, int(math.sqrt(i))+1):
        if i%j==0:
            n += 1
            break
print(900-n)

4.输出九九乘法表

for i in range(9):
    for j in range(i + 1):
        print('{}*{}={:2d} '.format(j + 1, i + 1, (i + 1) * (j + 1)), end='')
    print()

5.牛牛开始学习数列啦,现在他想知道1-2+3-4...+n的值。

n = int(input())
if n % 2 == 0:
    answer = (-1) * (n/2)
else:
    answer = (1-n)/2 + n 
print(int(answer))

6.这次牛牛又换了个数列,他想计算:1+1/2+1/3+…+1/N的值。(保留6位小数)

n=int(input())
a=0
for i in range(1,n+1):
    a=a+1/i
print('{:6f}'.format(a))

7.牛牛准备继续进阶,计算更难的数列

输入一个整数n,计算 1+1/(1-3)+1/(1-3+5)+...+1/(1-3+5-...((-1)^(n-1))*(2n-1))的。

a = int(input())
s = 0
for i in range(1, a+1):
    s += 1 / (pow(-1, i+1) * i )
print('%.3f' % s)

8.帮助牛牛计算 1+(1+2)+(1+2+3)+...+(1+2+3+...+n。。

a = int(input())
b = 0
for i in range(1, a+1):
    for j in range(1, i+1):
        b += j
print('%d' % b)

9.求一个整数的所有数位之和。

a = input()
b = 0
for i in range(len(a)):
    b += int(a[i])
print(b)

10.有一个数字魔法,给你一个正整数n,如果n为偶数,就将他变为n/2, 如果n为奇数,就将他变为乘3加1;不断重复这样的运算,经过有限步之后,一定可以得到1;牛牛为了验证这个魔法,决定用一个整数来计算几步能变成1。

n=int(input())
count=0
while n!=1:
    if n%2==0:
        n=n/2
        count+=1
    else:
        n=n*3+1
        count+=1
print(count)

11.KiKi想知道1~2019中有多少个包含数字9的数。包含数字的数是指有某一位是“9”的数,例如“2019”、“199”等。

count = 0
for i in range(1, 2020):
    if '9' in str(i):
        count += 1
print(count)

12.小乐乐的班主任想统计一下班级里一共有多少人需要被请家长,三个成绩(语文,数学,外语)平均分低于60的将被请家长,小乐乐想编程帮助班主任算一下有多少同学被叫家长。

n = int(input())
count = 0
matrix = []
for i in range(n):
    matrix.append(list(map(int, input().split())))
    if (matrix[i][0]+matrix[i][1]+matrix[i][2])/3 < 60:
        count += 1
print(count)

13.春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的: “水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。 现在要求输出所有在m和n范围内的水仙花数。

while True:
    try:
        m,n=map(int,input().split())
        res=[]
        for i in range(m,n+1):
            a=int(i/100)
            b=int((i-a*100)/10)
            c=int((i-a*100-b*10))
            if a**3+ b**3+c**3==i:
                res.append(i)
        if len(res)>0:
            print(' '.join([str(i) for i in res]))
        elif len(res)==0:
            print('no')
    except:
        break

14.变种水仙花数 - Lily Number:把任意的数字,从中间拆分成两个数字,比如1461 可以拆分成(1和461),(14和61),(146和1),如所有拆分后的乘积之和等于自身,则是一个Lily Number。

例如:655 = 6 * 55 + 65 * 5    1461 = 1*461 + 14*61 + 146*1

求出 5位数中的所有 Lily Number。

for i in range(10000,100000):
    if (i//10000)*(i%10000)+(i//1000)*(i%1000)+(i//100)*(i%100)+(i//10)*(i%10)==i:
        print(i,end = ' ')

15.公务员面试现场打分。有7位考官,从键盘输入若干组成绩,每组7个分数(百分制),去掉一个最高分和一个最低分,输出每组的平均成绩。

while True:
    try:
        a=input().split()
        max=0
        min=100
        sum=0
        for i in range(7):
            a[i]=int(a[i])
            if a[i]>max:
                max=a[i]
            if a[i]<min:
                min=a[i]
            sum+=a[i]
        print('%.2f'%((sum-max-min)/5))
    except:
        break

16.将一个四位数,反向输出。

a = input()
print(a[::-1])

17.小乐乐在课上学习了二进制八进制与十六进制后,对进制转换产生了浓厚的兴趣。因为他的幸运数字是6,所以他想知道一个数表示为六进制后的结果。请你帮助他解决这个问题。

n = int(input())
list1 =[]
while(n//6>0):
    list1.append(n%6)
    n = n//6
list1.append(n)
list1.reverse()
for i in list1:
    print(i,end="")

18.国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天),每天收到两枚金币;之后三天(第四、五、六天),每天收到三枚金币;之后四天(第七、八、九、十天),每天收到四枚金币……;这种工资发放模式会一直这样延续下去:当连续N天每天收到N枚金币后,骑士会在之后的连续N+1天里,每天收到N+1枚金币。

请计算在前K天里,骑士一共获得多少金币。

k=int(input())
n=1
while k>n*(n+1)/2:
    n+=1
coin=sum([x**2 for x in range(1,n+1)])-(n*(n+1)/2-k)*n
print(int(coin))
相关文章
|
6天前
|
C#
C#基础语法(判断和循环)
C#基础语法(判断和循环)
24 1
|
11月前
|
Python
while循环的妙用
while循环的妙用
54 1
|
11月前
|
数据库管理 Python
巧用for循环
巧用for循环
41 0
|
11月前
|
数据安全/隐私保护
列表循环练习题
列表循环练习题
牛客网语法篇练习循环控制(二)
牛客网语法篇练习循环控制(二)
81 0
牛客网语法篇练习分支控制(二)
牛客网语法篇练习分支控制(二)
75 0
|
Java 双11 知识图谱
牛客网语法篇练习分支控制(一)
牛客网语法篇练习分支控制(一)
113 0
|
Shell
shell编程之双重循环(教你花式打印各种图形)(上)
1、双重循环概述 双重循环需要具备的前提——存在两个以上的自变量。 执行机制:
596 0
|
Shell
shell编程之双重循环(教你花式打印各种图形)(下)
1、双重循环概述 双重循环需要具备的前提——存在两个以上的自变量。 执行机制:
242 0
|
Java Scala 开发者
循环的注意事项和练习题|学习笔记
快速学习循环的注意事项和练习题。
51 0
循环的注意事项和练习题|学习笔记