問對於乙個給定的n,怎樣才能用最少的步驟將它變到1

2022-07-26 12:24:09 字數 551 閱讀 8415

如果n為偶數,則將它除以2,

如果n為奇數,則將它加1或者減1。

問對於乙個給定的n,怎樣才能用最少的步驟將它變到1。

例如:n= 61

n-- 60

n/2 30

n/2 15

n++ 16

n/2 8

n/2 4

n/2 2

n/2 1

演算法設計:首先想到的是遞規演算法,不過細想一下我們可以動態規劃:設a(i)為整數i用最少步驟變成1的解,設n=i+1 那麼我們考慮a(n),如果n為偶數,那麼a(n) = a(n/2) +1; 如果為奇數,那麼a(n) = min(a( (n+1)/2+2 ),   a((n-1)/2 +2 )). 演算法初始化:明顯a(1) = 0;

class

test

}private

static

void changeto1(int a, int k, char

c)

else

else

}}

}}

怎樣才能成為乙個浪漫的人

1 要有質樸清純的性格。很顯然,沒有一定的詩人氣質的人縱使被大雨淋透也體會不出浪漫來。這種性格是自然而然依天性而成的,追功逐利,虛情假意只能削弱這種天性。2 浪漫的行為不是刻意追求所能得到的。這是一種很美好的心境,一種很美好的形象,只有對詩情畫意敏感的人才能體會到。對自然,對人,對事物深深地喜歡 用...

怎樣才能成為乙個浪漫的人

1 要有質樸清純的性格。很顯然,沒有一定的詩人氣質的人縱使被大雨淋透也體會不出浪漫來。這種性格是自然而然依天性而成的,追功逐利,虛情假意只能削弱這種天性。2 浪漫的行為不是刻意追求所能得到的。這是一種很美好的心境,一種很美好的形象,只有對詩情畫意敏感的人才能體會到。對自然,對人,對事物深深地喜歡 用...

怎樣才能稱為乙個好的濾波器

怎樣才能稱為乙個好的濾波器 在訊號處理中,濾波是最經常的訊號處理方式之一。那麼,什麼樣的濾波器才是乙個 好 的濾波器呢?對這個問題最直接的回答自然是 滿足設計效能要求的濾波器 就是好的濾波器了。在理論上這自然是無可挑剔的,因為一般在課堂上,在教課書中,總是給定乙個濾波器的特性曲線,然後照章設計就行了...