時間轉換:
題目:
資源限制
時間限制:1.0s 記憶體限制:512.0MB
問題描述
給定一個以秒為單位的時間t,要求用“<H>:<M>:<S>”的格式來表示這個時間,<H>表示時間,<M>表示分鐘,而<S>表示秒,它們都是整數且沒有前導的“0”,例如,若t=0,則應輸出是“0:0:0”;若t=3661,則輸出“1:1:1”,
輸入格式
輸入只有一行,是一個整數t(0<=t<=86399),
輸出格式
輸出只有一行,是以“<H>:<M>:<S>”的格式所表示的時間,不包括引號,
樣例輸入
0
樣例輸出
0:0:0
樣例輸入
5436
樣例輸出
1:30:36
代碼:
s = int(input())
if s >= 0 and s <= 86399:
H = s//3600
s = s - H*3600
M = s//60
s = s - M*60
print("{}:{}:{}".format(H, M, s))
法一
num = int(input())#輸入及字符轉為整型
m,s=divmod(num,60)#整數賦值給m,余數賦值給s
h,m=divmod(m,60)#同理
print("{}:{}:{}".format(h,m,s))#格式化輸出
法二
while True:
try:
t = int(input())
h = t // 3600
m = t%3600 // 60
s = t % 3600 % 60
print(str(h)+':'+str(m)+':'+str(s))
except:
break
法三
t = int(input())
a = 0
b = 0
c = 0
a = int(t/3600)
b = int((t%3600)/60)
c = int((t%3600)%60)
print(str(a)+":"+str(b)+":"+str(c))
法四
注:
法三和法四使用字串轉換
字串對比:
題目:
資源限制
時間限制:1.0s 記憶體限制:512.0MB
問題描述
給定兩個僅由大寫字母或小寫字母組成的字串(長度介于1到10之間),它們之間的關系是以下4中情況之一:
1:兩個字串長度不等,比如 Beijing 和 Hebei
2:兩個字串不僅長度相等,而且相應位置上的字符完全一致(區分大小寫),比如 Beijing 和 Beijing
3:兩個字串長度相等,相應位置上的字符僅在不區分大小寫的前提下才能達到完全一致(也就是說,它并不滿足情況2),比如 beijing 和 BEIjing
4:兩個字串長度相等,但是即使是不區分大小寫也不能使這兩個字串一致,比如 Beijing 和 Nanjing
編程判斷輸入的兩個字串之間的關系屬于這四類中的哪一類,給出所屬的類的編號,
輸入格式
包括兩行,每行都是一個字串
輸出格式
僅有一個數字,表明這兩個字串的關系編號
樣例輸入
BEIjing
beiJing
樣例輸出
3
代碼:
s1 = str(input())
s2 = str(input())
len1 = len(s1)
len2 = len(s2)
if len1 != len2:
print("1")
else:
if s1 == s2:
print("2")
elif s1.lower() == s2.lower():
print("3")
elif s1.lower() != s2.lower():
print("4")
法一
import re
def judge(s1, s2):
if len(s1) != len(s2):
return 1
if s1 == s2:
return 2
if len(s1) == len(s2):
if re.search(s1,s2,re.IGNORECASE):
return 3
else:
return 4
print(judge(input(),input()))
法二
注:
關于法二中的re模塊:
re.IGNORECASE是compile函式中的一個匹配模式,
re.IGNORECASE的意思就是忽略大小寫,
爬蟲中運用比較多
分解質因數:
題目:
資源限制
時間限制:1.0s 記憶體限制:512.0MB
問題描述
求出區間[a,b]中所有整數的質因數分解,
輸入格式
輸入兩個整數a,b,
輸出格式
每行輸出一個數的分解,形如k=a1*a2*a3...(a1<=a2<=a3...,k也是從小到大的)(具體可看樣例)
樣例輸入
3 10
樣例輸出
3=3
4=2*2
5=5
6=2*3
7=7
8=2*2*2
9=3*3
10=2*5
提示
先篩出所有素數,然后再分解,
資料規模和約定
2<=a<=b<=10000
代碼:
# 判斷素數
def primeNumber(n):
for i in range(2,int(n**0.5)+1):
if n % i == 0:
return False
else:
return True
#質因數分解
def qualityDecomposition(tmp):
for i in range(2, tmp + 1):
if tmp % i == 0:
tmp = tmp // i
tmpL.append(i)
qualityDecomposition(tmp)
break
# 輸入
num = input().split()
a = int(num[0])
b = int(num[1])
while a != b+1:
tmpL = [] # 存放質因數
if primeNumber(a):
print("{}={}".format(a, a))
else:
print("{}=".format(a, a),end="")
qualityDecomposition(a)
for i in range(len(tmpL)):
print(tmpL[i],end='')
if i == len(tmpL) - 1:
print('')
else:
print("*",end='')
a += 1
View Code
矩陣乘法:
題目:
資源限制
時間限制:1.0s 記憶體限制:512.0MB
問題描述
給定一個N階矩陣A,輸出A的M次冪(M是非負整數)
例如:
A =
1 2
3 4
A的2次冪
7 10
15 22
輸入格式
第一行是一個正整數N、M(1<=N<=30, 0<=M<=5),表示矩陣A的階數和要求的冪數
接下來N行,每行N個絕對值不超過10的非負整數,描述矩陣A的值
輸出格式
輸出共N行,每行N個整數,表示A的M次冪所對應的矩陣,相鄰的數之間用一個空格隔開
樣例輸入
2 2
1 2
3 4
樣例輸出
7 10
15 22
代碼:
while True:
try:
def matrix_mul(matrix1,matrix, n):
c = [[0 for m1 in range(n)]for m in range(n)]
for i in range(n):
for j in range(n):
for k in range(n):
c[i][j] += matrix1[i][k] * matrix[k][j]
return c
n = list(map(int, input().split()))
s = []
result = s
for j in range(n[0]):
s.append(list(map(int, input().split())))
if n[1] == 0:
for i in range(0, n[0]):
for j in range(0, n[0]):
if i == j:
result[i][j] = 1
else:
result[i][j] = 0
else:
for k in range(n[1]-1):
result = matrix_mul(result,s,n[0])
for i in range(0, result.__len__()) :
for j in range(0, result[i].__len__()) :
print(result[i][j],'', end='')
print('')
except:
break
View Code
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/253828.html
標籤:Python

