題目內容:
一個斐波那契數列的前10項為:1, 2, 3, 5, 8, 13, 21, 34, 55, 89,對于一個最大項的值不超過n的斐波那契數列,求值為偶數的項的和。
輸入格式:
一個正整數n,如100。
輸出格式:
值為偶數的項的和,如 2 + 8 + 34 = 44。
輸入樣例:
100
輸出樣例:
44
n=input()sum1=1sum2=1sum3=2count=0while sum3<=n: if sum3%2==0: count+=sum3 sum1=sum2 sum2=sum3 sum3=sum1+sum2PRint count另一種方法def fib(n): if n == 0 or n == 1: return 1 else: return fib(n - 1) + fib(n - 2)sum = 0i = 0num = int(raw_input())while fib(i) < num: if fib(i) % 2 ==0: sum += fib(i) i += 1print sum輸入格式: 兩行整數,分別代表年份和月份 輸出格式: 星期數,0代表星期日 輸入樣例: 2033 12 輸出樣例: 6
def is_leap_year(Year): if Year % 4 ==0and Year % 100 !=0 or Year %400 ==0: return True else: return Falsedef year_month_days(Year, Month): if Month in (1,3,5, 7, 8, 10,12): return 31 elif Month in (4,6,9, 11): return 30 elif is_leap_year(Year): return 29 else: return 28def year_days(Year): if is_leap_year(Year): return 366 else: return 365def weekday_year_month(Year, Month): Weekday = 2 for year in range(1800, Year): Weekday = (Weekday + year_days(year) ) % 7 for month in range(1, Month +1): Weekday = (Weekday + year_month_days(Year, month)) % 7 print WeekdayY = int(raw_input())M = int(raw_input()) weekday_year_month(Y, M)
題目內容:
如在漢諾塔游戲中,我們希望將塔A上的n個盤子,通過塔B移動到塔C,則對于任意輸入的n,給出移動的步驟。
輸入格式:
一個正整數n
輸出格式:
移動的步驟
輸入樣例:
2
輸出樣例:
Move 1 from A to B
Move 2 from A to C
Move 1 from B to C
def hanoi(n, A, B, C): if n == 1: print 'Move', n,'from', A, 'to', C else: hanoi(n - 1, A, C, B) print 'Move', n,'from', A, 'to', C hanoi(n - 1, B, A, C)num = int(raw_input())hanoi(num, 'A', 'B','C')
新聞熱點
疑難解答