ZZULIOJ1091-1095Python解法

ZZULIOJ:1091: 童年生活二三事(多实例测试)

题目描述

Redraiment小时候走路喜欢蹦蹦跳跳,他最喜欢在楼梯上跳来跳去。 但年幼的他一次只能走上一阶或者一下子蹦上两阶。 现在一共有N阶台阶,请你计算一下Redraiment从第0阶到第N阶共有几种走法。

输入

输入包括多组数据。 每组数据包括一行:N(1≤N≤40)。 输入以0结束

输出

对应每个输入包括一个输出。 为redraiment到达第n阶不同走法的数量。

样例输入 Copy

1

3

0

样例输出 Copy

1

3

源代码

while True:
    n=int(input())
    a=1
    b=2
    if n==1 or n==2:
        print(n)
    elif n>=3:
        for i in range(n-2):
            t=a+b
            a=b
            b=t
        print(t)
    if n==0:
        break

ZZULIOJ:1092: 素数表(函数专题)

题目描述

 输入两个正整数m和n,输出m和n之间的所有素数。

要求程序定义一个prime()函数和一个main()函数,prime()函数判断一个整数n是否是素数,其余功能在main()函数中实现。

int prime(int n)

{

//判断n是否为素数, 若n为素数,本函数返回1,否则返回0

}

对于C/C++代码的提交,本题要求必须通过定义prime函数和main函数实现,否则,提交编译错误,要提交完整的程序。

输入

 输入两个正整数m和n,m<=n,且都在int范围内。

输出

 输出占一行。输出m和n之间的所有素数,每个数后有一个空格。测试数据保证m到n之间一定有素数。

样例输入 Copy

2 6

样例输出 Copy

2 3 5

源代码

import math
m,n=map(int,input().split())
for i in range(m,n+1):
    if i==1:
        continue;
    else:
        k=math.sqrt(i)
        flag=1
        for j in range(2,int(k)+1):
            if i%j==0:
                flag=0
                break
        if flag==1:
            print(str(i)+" ",end="")

ZZULIOJ:1093: 验证哥德巴赫猜想(函数专题)

题目描述

哥德巴赫猜想大家都知道一点吧。我们现在不是想证明这个结论,而是对于任给的一个不小于6的偶数,来寻找和等于该偶数的所有素数对。做好了这件实事,就能说明这个猜想是成立的。

要求程序定义一个prime()函数和一个main()函数,prime()函数判断一个整数n是否是素数,其余功能在main()函数中实现。

int prime(int n)

{undefined

//判断n是否为素数, 若n为素数,本函数返回1,否则返回0

}

对于C/C++代码的提交,本题要求必须通过定义prime函数和main函数实现,否则,提交编译错误,要提交完整的程序。

输入

一个偶数M (M是6到1000000之间的一个偶数).

输出

输出和等于该偶数的所有素数对a和b,按a递增的顺序输出,(a,b)和(b,a)被视为同一个素数对。

样例输入 Copy

40

样例输出 Copy

3 37

11 29

17 23

源代码

import math
def prime(num):
    k=int(math.sqrt(num))
    for i in range(2,k+1):
          if num%i==0:
            return 0
    return 1
M=int(input())
for i in range(2,int(M//2)+1):
    if int(prime(i)) and int(prime(M-i)):
        print(str(i)+" "+str(M-i))

ZZULIOJ:1094: 统计元音(函数专题)

题目描述

输入一个字符串,统计其中元音字母的个数。要求使用函数vowel()用来判断是否为元音,其余功能在main()函数中实现。

int vowel(char ch)

{

             //如果ch是元音,返回1,否则返回0

}

本题如果是C/C++代码提交,只需要提交vowel函数的定义部分,提交其它内容,编译出错。

输入

 输入一个字符串,长度不超过1000,以回车符结束。

输出

 输出一个整数,表示元音字母个数。输出单独占一行。

样例输入 Copy

Hello world!

样例输出 Copy

3

源代码

def vowel(n):
    if n=='a' or n=='e' or n=='i' or n=='o' or n=='u' or n=='A' or n=='E' or n=='I' or n=='O' or n=='U':
        return 1
    else:
        return 0
string=input()
lenth=len(string)
sum=0
for i in range(lenth):
    if vowel(string[i]):
        sum=sum+1
print(sum)

ZZULIOJ:1095: 时间间隔(函数专题)

题目描述

从键盘输入两个时间点(24小时制),输出两个时间点之间的时间间隔,时间间隔用“小时:分钟:秒”表示。要求程序定义如下两个函数,并在main()中调用这两个函数实现相应的功能,其中main函数系统已经实现,你只需要完成下面这两个函数的定义。

//把时分秒转换成秒并返回, 三个参数分别为用于表示一个时间点的时、分、秒

int HmsToS(int h, int m, int s);

//将时间段转换为对应的“小时:分钟:秒” 格式输出 ,形参s表示一个时间段的长度,单位是秒

void PrintTime(int s);

对于C/C++代码的提交,本题只需要提交HmsToS函数和PrintTime函数的定义部分,否则,提交编译错误。

输入

输入数据有多组。每组输入包括两行。第一行为时间点1,第二行为时间点2,时间点均以“HH:MM:SS”的格式输入。测试数据保证时间点1早于时间点2。

输出

对应每组数据,有一行输出,以“HH:MM:SS”的格式输出时间间隔。注意不足两位要补占位符0。格式参看输入输出。

样例输入 Copy

12:01:12

13:09:43

12:40:12

13:09:43

样例输出 Copy

01:08:31

00:29:31

提示

注意:要输出01:08:31中的占位符0,printf中的格式控制符用"%02d"

源代码

while True:
    h1,m1,s1=map(int,input().split(":"))
    h2,m2,s2=map(int,input().split(":"))
    h3=h2-h1
    if m2<m1:
        m3=m2-m1+60
        h3=h3-1
    else:
        m3=m2-m1
    if s2<s1:
        s3=s2-s1+60
        m3=m3-1
    else:
        s3=s2-s1
    print(str("%02d"%h3)+":"+str("%02d"%m3)+":"+str("%02d"%s3))
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

计科土狗

谢谢家人们

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值