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))