OJ3376無盡的石頭問題

答案:

#include<bits/stdc++.h>
using namespace std;
const int N=10e7;
int fx(int n)
{int sum=0;while(n){sum+=(n%10);n/=10;}return sum;
}
int main()
{int t,n,x;cin>>t;while(t--){cin>>n;int count=0;for(int i=1;i<N;){if(i==n){cout<<count<<'\n';break;}else if(i>n){cout<<-1<<'\n';break;}x=fx(i);i=(i+x);count++;}
}return 0;
}

代碼的邏輯:

  • 函數?fx?計算一個整數?n?的各位數字之和。
  • 主函數中首先讀取測試案例數量?t,然后對于每個測試案例,讀取目標值?n
  • 代碼使用一個?for?循環從?i = 1?開始,逐步計算下一個值?i,直到?i?等于或大于?n

假設 n = 5,代碼的執行過程如下:

  1. t = 1(一個測試案例)
  2. n = 5(目標值)
  3. 初始化?count = 0i = 1

進入 for 循環:

  • 第一輪循環

    • i = 1
    • 計算?x = fx(1) = 1
    • 更新?i = i + x = 1 + 1 = 2
    • count++count = 1
  • 第二輪循環

    • i = 2
    • 計算?x = fx(2) = 2
    • 更新?i = i + x = 2 + 2 = 4
    • count++count = 2
  • 第三輪循環

    • i = 4
    • 計算?x = fx(4) = 4
    • 更新?i = i + x = 4 + 4 = 8
    • count++count = 3
  • 第四輪循環

    • i = 8
    • 這時?i > n,所以輸出?-1,并退出循環。

因此,對于 n = 5,程序將輸出 -1

我們再通過另一個例子 n = 10 來分析:

  1. t = 1(一個測試案例)
  2. n = 10(目標值)
  3. 初始化?count = 0i = 1

進入 for 循環:

  • 第一輪循環

    • i = 1
    • 計算?x = fx(1) = 1
    • 更新?i = i + x = 1 + 1 = 2
    • count++count = 1
  • 第二輪循環

    • i = 2
    • 計算?x = fx(2) = 2
    • 更新?i = i + x = 2 + 2 = 4
    • count++count = 2
  • 第三輪循環

    • i = 4
    • 計算?x = fx(4) = 4
    • 更新?i = i + x = 4 + 4 = 8
    • count++count = 3
  • 第四輪循環

    • i = 8
    • 計算?x = fx(8) = 8
    • 更新?i = i + x = 8 + 8 = 16
    • count++count = 4
  • 第五輪循環

    • i = 16
    • 這時?i > n,所以輸出?-1,并退出循環。

對于 n = 10,程序同樣輸出 -1

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/21572.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/21572.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/21572.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

在github上創建(上傳、關聯)自已的項目

目錄 創建一個github項目并進行開發。 1.github創建空項目 2. git clone 項目 3. 將項目關聯 創建一個github項目并進行開發。 1.github創建空項目 右邊的New 然后按步創建就行 2. git clone 項目 復制這個連接 然后在終端&#xff1a;git clone [剛才復制的連接] 3. 將…

解讀 Explainable Image Similarity Integrating Siamese Networks and Grad-CAM

給出論文&#xff08;Explainable Image Similarity Integrating Siamese Networks and Grad-CAM&#xff09;的內容解讀、代碼運行說明 論文鏈接&#xff1a;J. Imaging | Free Full-Text | Explainable Image Similarity: Integrating Siamese Networks and Grad-CAM (mdpi.c…

純網絡的系統能否定級備案?

很多單位想把網絡基礎設施進行定級備案和測評&#xff0c;但是不知道這樣可否&#xff1f; 目前湖北省是可以的。因為根據《定級指南》的術語解釋3.2對等級保護對象的定義是包括通信基礎設施的&#xff0c;也就是網絡基礎設施。其他地區目前有的地方可以有的地方不行&#xff…

2024年武漢東湖高新中級職稱報名時間是什么時候?

2024年武漢市東湖高新中級職稱上半年批次報名已經截止了&#xff0c;下半年東湖高新至少還有一次報名機會&#xff0c;所以各位東湖高新區評職稱的朋友們&#xff0c;不要錯過這次了。 2024年武漢東湖高新區中級職稱報名條件&#xff1a; 1.東湖高新區社保滿足1年&#xff0c;近…

進口不銹鋼氣動輸送泵-美國品牌

進口不銹鋼氣動輸送泵是一種利用壓縮空氣為動力&#xff0c;通過氣閥控制進行往復運動&#xff0c;將能量轉換為泵的動能&#xff0c;從而實現對液體或固體物料輸送的設備。以下是關于進口不銹鋼氣動輸送泵的詳細介紹&#xff1a; 一、產品特點 材質優良&#xff1a;主體部分…

seata源碼分析(03)_創建代理的過程

seata提供了ProxyUtil工具類為事務組件創建代理對象&#xff0c;在spring環境中&#xff0c;seata提供了GlobalTransactionScanner類和SeataAutoDataSourceProxyCreator為組件創建AOP代理&#xff0c;本文重點分析這兩個類。 ProxyUtil io.seata.integration.tx.api.util.Pro…

【中年危機】程序猿自救指南

中年危機&#xff0c;一個聽起來就充滿挑戰的詞匯&#xff0c;它不僅僅是一個年齡的標記&#xff0c;更是一個個人成長和職業發展的轉折點。 構架個人品牌&#xff1a; 學會打造IP個人品牌是職業生涯中的重要資產。在中年時期&#xff0c;你已經積累了豐富的經驗和知識&#x…

golang的http客戶端封裝

簡介 net/http 是 Go 語言標準庫的一部分&#xff0c;它提供了創建 HTTP 客戶端和服務器的能力。這個包通過簡化與 HTTP 協議的交互&#xff0c;讓開發者能夠方便地構建 HTTP 請求和響應&#xff0c;以及處理路由等任務。 本文以 net/http 包作為底層&#xff0c;封裝一個包含…

HTCC電路板是什么,有哪些主要應用領域

HTCC英文名稱是High-Temperature Co-Fired Ceramic&#xff0c;又稱高溫共燒多層陶瓷基板。因其具有導熱系數高、耐熱性好、熱膨脹系數小、機械強度高、絕緣性好、耐腐蝕等優勢&#xff0c;是保持高速增加的PCB線路板之一。 SPEA作為專業電路板測試設備方案服務商&#xff0c;公…

FY-SA-20237·8-WhyWeSpin

Translated from the Scientific American, July/August 2023 issue. Why We Spin (我們為什么旋轉) Primates may play with reality by twirling around 翻譯&#xff1a;靈長類動物有能力通過旋轉或旋轉運動來操縱或扭曲他們對現實的感知。 解釋&#xff1a; “Primates”…

Java生成指定長度驗證碼

生成指定長度驗證碼的簡單思路在Java中通常涉及以下幾個步驟&#xff1a; 1、定義字符池&#xff1a; 首先&#xff0c;需要定義一個包含所有可能字符的字符串&#xff0c;這個字符池通常包括數字(0-9)、大寫字母(A-Z)、小寫字母(a-z)。 例如&#xff1a; String chars "…

【開發心得】三步本地化部署llama3大模型

目錄 第一步&#xff1a;啟動ollama 第二步&#xff1a;啟動dify 第三步&#xff1a;配置模型&#xff08;截圖&#xff09; 最近llama3很火&#xff0c;本文追擊熱點&#xff0c;做一個本地化部署的嘗試&#xff0c;結果還成功了&#xff01; 當然也是站在別人的肩膀上&…

【運維項目經歷|027】PXE自動化部署與管理平臺

&#x1f341;博主簡介&#xff1a; &#x1f3c5;云計算領域優質創作者 &#x1f3c5;2022年CSDN新星計劃python賽道第一名 &#x1f3c5;2022年CSDN原力計劃優質作者 &#x1f3c5;阿里云ACE認證高級工程師 &#x1f3c5;阿里云開發者社區專…

Nginx企業級負載均衡:技術詳解系列(18)—— 作為上傳服務器

你好&#xff0c;我是趙興晨&#xff0c;97年文科程序員。 在上一期的技術分享中&#xff0c;我們探討了如何高效搭建Nginx下載服務器&#xff0c;并討論了長連接優化策略。那么今天&#xff0c;咱們進一步了解Nginx的另一面——作為上傳服務器的配置技巧。 作為上傳服務器&a…

怎么做好企業短信服務呢?(文字短信XML接口示例)

企業短信服務已經成為各行各業都信賴的行業推廣方式之一&#xff0c;并且短信行業也與時俱進的發展著&#xff0c;隨之而來的就是市場上短信平臺的數量也隨之增多。那么怎么在魚龍混雜的短信行業中選擇適合自己的企業短信服務平臺呢&#xff1f;企業短信服務平臺又適用于哪些應…

Django的PATH路徑轉換器

本書1-7章樣章及配套資源下載鏈接: https://pan.baidu.com/s/1OGmhHxEMf2ZdozkUnDkAkA?pwdnanc 源碼、PPT課件、教學視頻等&#xff0c;可以從前言給出的下載信息下載&#xff0c;大家可以評估一下。 在Django框架中&#xff0c;默認內置了一組PATH路徑轉換器&#xff0c;具…

第一篇【傳奇開心果系列】AI工業應用經典算法和Python示例:基于AI的智能制造技術經典算法與Python實踐

傳奇開心果博文系列 系列博文目錄AI工業應用經典算法和Python示例系列 博文目錄前言一、AI在智能制造方面的應用場景介紹二、基于AI的智能制造技術經典算法介紹三、支持向量機機器學習算法Python示例代碼四、隨機森林機器學習算法Python示例代碼五、深度學習算法Python示例代碼…

linux指令-高階指令用法

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 前言一、pandas是什么&#xff1f;二、使用步驟 1.引入庫2.讀入數據總結 前言 linux操作系統的環境變量的使用基礎需要先了解 提示&#xff1a;以下是本篇文章正文…

【linux】(2)文件內容排序sort

sort 是一個用于排序文件內容的命令行工具&#xff0c;在 Linux 和 Unix 系統中非常常用。 基本用法 sort [OPTION]... [FILE]...常用選項 按數值排序 -n sort -n filename例子&#xff1a;對包含數值的文件進行排序。 按字典順序排序 -d sort -d filename例子&#xff1…

大宋咨詢(深圳酒店神秘顧客調查)酒店客房神秘人體驗調查內容

酒店客房神秘檢查內容&#xff0c;是酒店管理中至關重要的環節。通過專業的神秘顧客對客房進行細致入微的檢查&#xff0c;可以確保客房的清潔度、設施設備的完好性以及服務質量等方面達到高標準&#xff0c;幫助他們更好地了解客戶的需求和滿意度&#xff0c;從而提高服務質量…