Python練習題 016:猴子吃桃

来源:http://www.cnblogs.com/iderek/archive/2016/10/16/5967155.html
-Advertisement-
Play Games

【Python練習題 016】 猴子吃桃問題:猴子第一天摘下若幹個桃子,當即吃了一半,還不癮,又多吃了一個。第二天早上又將剩下的桃子吃掉一半,又多吃了一個。以後每天早上都吃了前一天剩下的一半零一個。到第10天早上想再吃時,見只剩下一個桃子了。求第一天共摘了多少。 這題得倒著推。第10天還沒吃,就剩1 ...


【Python練習題 016】 猴子吃桃問題:猴子第一天摘下若幹個桃子,當即吃了一半,還不癮,又多吃了一個。第二天早上又將剩下的桃子吃掉一半,又多吃了一個。以後每天早上都吃了前一天剩下的一半零一個。到第10天早上想再吃時,見只剩下一個桃子了。求第一天共摘了多少。

--------------------------------------------------

這題得倒著推。第10天還沒吃,就剩1個,說明第9天吃完一半再吃1個還剩1個,假設第9天還沒吃之前有桃子p個,可得:p * 1/2 - 1 = 1,可得 p = 4。以此類推,即可手算出。

代碼思路為:第10天還沒吃之前的桃子數量初始化 p = 1,之後從9至1迴圈9次,根據上述公式反推為 p = (p+1) * 2 可得第1天還沒吃之前的桃子數量。for迴圈中的print()語句是為了驗證推算過程而增加的。代碼如下:

p = 1
print('第10天吃之前就剩1個桃子')
for i in range(9, 0, -1):
    p = (p+1) * 2
    print('第%s天吃之前還有%s個桃子' % (i, p))
print('第1天共摘了%s個桃子' % p)

輸出結果如下:

第10天吃之前就剩1個桃子
第9天吃之前還有4個桃子
第8天吃之前還有10個桃子
第7天吃之前還有22個桃子
第6天吃之前還有46個桃子
第5天吃之前還有94個桃子
第4天吃之前還有190個桃子
第3天吃之前還有382個桃子
第2天吃之前還有766個桃子
第1天吃之前還有1534個桃子
第1天共摘了1534個桃子

 

++++++++++++++++++++++++++++++++++++++

題目出處:編程語言入門經典100例【Python版】


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1、URL重寫,隱藏網址中的Index.php。 ThinkPHP 作為 PHP 框架,是單一入口的,那麼其原始的 URL 便不是那麼友好。但 ThinkPHP提供了各種機制來定製需要的 URL 格式,配合 Apache .htaccess 文件,更是可以定製出人性化的更利於 SEO 的URL 地址 ...
  • 在 servlet 3.0 開始web項目可以完全不需要web.xml配置文件了,所以本文的配置只在支持servlet 3.0及以上的web容器中有效 使用的是spring mvc (4.3.2.RELEASE) + thymeleaf(3.0.2.RELEASE), 持久層使用的 spring的 ...
  • 【Python練習題 017】 兩個乒乓球隊進行比賽,各出三人。甲隊為a,b,c三人,乙隊為x,y,z三人。已抽簽決定比賽名單。有人向隊員打聽比賽的名單。a說他不和x比,c說他不和x,z比。請編程式找出三隊賽手的名單。 這題真真想破我腦袋了,看了好幾份別人的代碼才勉強看懂,真是…… 一開始我只想著先 ...
  • ************************** ...
  • 上周開始試著來用appium,首先開始去官網看,然後下載appium客戶端,下載安裝後,然後筆者開始安裝android sdk ,進官網下載後,筆者下載安裝後,在更新下載SDK Manager的時候一直出錯,下載不下來,翻牆也不行,來到蟲師博客 ,看到方式後,就試著去做,可是按照蟲師的方式還是不行, ...
  • 首先,我們準備文件 jdbc.properties,用於保存連接資料庫的信息,利於我們在配置文件中的使用 一:Spring框架內置的連接池(內置jar包可以使用) 當然,它是使用到 spring-jdbc-4.2.0.RELEASE.jar 在applicationContext.xml(Sprin ...
  • spring 註解多選擇是好事嘛? Spring 經過十多年的快速發展和更新,以其獨特的創新帶來了大量的擁躉者,在選擇方面還帶來了更多選擇!譬如spring bean的裝配(在XML中進行顯式配置、在Java中進行顯式配置、隱式的bean發現機制和自動裝配),註解的多元化(基本註解、jsr250、j ...
  • Spring介紹: spring 使用基本的 JavaBean 來完成以前只可能由 EJB 完成的事情。然而, Spring的用途不僅限於伺服器端的開發。從簡單性、可測試性和松耦合的角度而言,任何Java 應用都可以從 Spring 中受益。 簡單來說, Spring 是一個輕量級的控制反轉(IoC ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...