一道相親題

2021-09-18 05:03:00 字數 1306 閱讀 1025

第一道題,707829217開方數以內的數,也就30000以內,暴力列舉進行素數檢查就行。

附加題:

排列組合+遞迴分治

附加題程式:

def zuheshu(n, k):#cnk

fenzi = 1;

fenmu = 1;

for i in range(k):

fenzi *= n-i;

fenmu *= i+1;

return fenzi/fenmu;

def ndigit_num3_p(n):#任意n位數所含的3的總數

sum = 0;

for i in range(n):

k = i+1;

sum += k * zuheshu(n,k) * pow(9, n-k)

return sum

def ndigit_num3_q(n):#以3開頭的任意n+1位數所含3的總數

sum = 0;

for i in range(n+1):

k = i;

sum += (k+1) * zuheshu(n,k) * pow(9,n-k)

return sum;

def jiou_res(num):#0~num的任意數所含3的總數,

if num < 3:

return 0;

if num < 10:

return 1;

strnum = str(num)

head = int(strnum[0])

n = len(strnum) - 1

tail = int(strnum[1:])

if head < 3:

res = head*ndigit_num3_p(n) + jiou_res(tail)

elif head == 3:

res = head*ndigit_num3_p(n) + (tail+1) + jiou_res(tail)

else:

res = (head-1)*ndigit_num3_p(n) + ndigit_num3_q(n) + jiou_res(tail)

return res;

def main_hzq():

res = jiou_res(707829217) - jiou_res(70782921)*4 - jiou_res(70782920)

print(res)

一道演算法題

兩個燒杯,乙個放糖乙個放鹽,用勺子舀一勺糖到鹽,攪拌均勻,然後舀一勺混合 物會放糖的燒杯,問你兩個燒杯哪個雜質多?一樣多吧 對的 為啥?是不是因為 糖和鹽本來就是均勻的 因為,就算不攪拌均,你放一勺過去,那邊放一勺不含雜質的過來,那麼都是一勺雜之 如果攪拌均勻的話也是一樣 小依 21 45 32 也...

一道演算法題

1.上午主要做了對翻譯任務的劃分,下午把 翻譯完畢。2.明天要講的演算法題 對乙個集合,求出其連續元素組成的子集中,和最大的子集 我對這道題的理解是 1 若集合中最小值大於0,意味著所有的都大於0,則最大的子集和,為所有值加起來 2 若集合中最大值小於0,意味著所有的都小於0,則最大的子集和,為集合...

一道演算法題

include using namespace std const int size 5 int max sub array const int a,int n,int m int max matrix const int a size int row,int col,int subsize int...