2:題目:根據所輸入的月份,年份輸出當月的實際天數
3:【浦發】
給定乙個整數,求其開方後的整數字1)分析思路
1)x ^2 = n, 故採用二分法解決2)**2)如:n =7
0,1,2,3,4,5,6,7
(0+7)/2 = 3, 3^2 = 9 >7 (因此,開方後的值小於3,所以下次的搜尋範圍左調縮減到[0,2])
(0+2)/2 = 1,1^2 = 1<7 (因此開方後的的值大於1,所以下次的搜尋範圍右調縮減到[2,2])
因此,開方後的值為 2
3)x ^2 = n, 故 n 的開方為 x
切記:當不知道迴圈次數時,使用為了while迴圈
import sys
n =int
(input()
)#一般採取動態輸入
deffsear
(n):
left =
0 right = n
while left <= right:
#不知道迴圈次數就用while
mid =
int(
(left + right)/2
)if mid**
2< n and
(mid+1)
**2> n:
return mid
elif mid**
2< n:
left = mid +
1elif mid**
2> n:
right = mid-
1else
:return mid
print
(fsear(n)
)
結果:
31)思路分析1
1:分析1-12月的天數,只有2月的天數是不確定的2:**[1,3,5,7,8,10,12]月的天數是31天
[4,6,9,11]月的天數為30天
如果判斷 2月的天數要根據是否閏年:如果當年是閏年的話是29天內,否則28天
2:閏年的判斷方法:
法1):如果年份 %4 ==0 ,此年為閏年
法2) :如果年份 %100 ==0 and %400 ==0 ,此年為閏年
總結:
mouth =
int(
input
('請輸入月份:'))
years =
int(
input
('請輸入某一年:'))
defjud
(mouth,year)
:if mouth in[1
,3,5
,7,8
,10,12
]:print
('本月有31天!'
)elif mouth in[4
,6,9
,11]:
print
('本月有30天!'
)else
:if year %4==
0:if(mouth==2)
:print
('本月有29天!'
)#閏年29天
elif year%
100==0:
if year %
400==0:
if(mouth==2)
:print
('本月有29天!'
)else
:print
('月份輸入有誤'
)else:if
(mouth==2)
:print
('本月有28天!'
)else
:print
('月份輸入有誤'
)
jud(mouth,years)
1:題目描述:回文素數
如果乙個整數智慧型被1 和自己整除,就稱這個數為素數數。
如果乙個數正著反著都是一樣,就稱這個數為回文數,例如。6,66,606,6666
如果乙個數字既是素數也是回文數,就成為回文素數
現在給定以個區間[l,r],希望你能求出在這個區間內與多少個回文素數。
輸入:100 150
輸出:2
2:**
from math import sqrt
defsushu
(w):
leap =
0for x in
range(2
,int
(sqrt(w))+
1):if w % x ==0:
break
else
: leap =
1return
(leap)
defjudge1
(a1,a2)
: num =
0for i in
range
(a1,a2+1)
:if(i%10!=0
):n1=i%10*
100 n2=
int(i/10)
%10*10
#/:整除,結果包含小數點為,而// 整除,結果不包含小數點位
n3=int(i/
100)
new1 = n1+n2+n3
if(new1 == i)
:#以上判斷是否為回文,下來判斷是否為素數
nihao = sushu(i)
num = num + nihao
return
(num)
start1 =
100ends =
150num1 = judge1(start1,ends)
print
(num1)
結果:
2
C 二分法查詢,遞迴二分法
用二分法來求需要查詢的值.includeusing namespace std 查詢key元素是否存在 int findkey const int buf 100 const int ilen,const int key else right left mid 1 查詢失敗 return 1 查詢k...
python二分法查詢 Python 二分法查詢
二分法查詢主要的作用就是查詢元素 lst 1,3,5,7,12,36,68,79 資料集 百萬級資料 num int input 請輸入你要查詢的元素資訊 for el in lst if num el print 存在 break else print 不存在 len lst 0 1 2 3 4 ...
求方程根 (二分法)
二分法求方程的根 求下面方程的乙個根 f x x3 5x2 10x 80 0 若求出的根是a,則要求 f a 10 6 解法 對f x 求導,得f x 3x2 10x 10。由一元二次方程求根公式知方呈f x 0 無解,因此f x 恆大於0。故f x 是單調遞增的。易知f 0 0且f 100 0,所...