【必懂】C語言水仙花數題解

若是大一學子或者是真心想學習剛入門的小伙伴可以私聊我,若你是真心學習可以送你書籍,指導你學習,給予你目標方向的學習路線,無套路,博客為證。

前言

本專欄內容將會以輕松、簡單的方式完成習題的解答,用情景再現的文章風格使讀者能夠在輕松愉悅的閱讀氛圍中完成知識的吸收,本專欄考慮讀者的吸收能力,不講解過多高效的計算方法,降低閱讀門檻,希望各位多多支持~

作者簡介

作者名:1_bit

簡介:CSDN博客專家,2020年博客之星TOP5,藍橋簽約作者。15-16年曾在網上直播,帶領一批程序小白走上程序員之路。歡迎各位小白加我咨詢我相關信息,迷茫的你會找到答案。

博客地址:https://i1bit.blog.csdn.net


情景再現

🐰小C:Hi~小媛,怎么今天垂頭喪氣的?

👸小媛:小C,你可要救救我。今天在一個學習群里,他們在討論一個叫做求水仙花數的內容,我不懂水仙花數,我感覺我被打擊了。 😭

🐰小C:哈哈哈,水仙花數呀,水仙花數其實就是指一個三位數,他們的個位、十位、百位的立方和等于這個三位數本身。

👸小媛:他們也是這樣解釋的,但我還是不懂呀。

🐰小C:那你看一個例子,有一個數 153,個位是 3、十位是 5、百位是 1,然后個位的立方也就是 333 等于 27,十位的立方 555 等于 125,百位的立方 111 等于 1,而這些立方 27、125 以及 1 相加起來是不是等于 153?

👸小媛:是呀,那又怎么樣? 😂

🐰小C:這 153 不就是這個三位數本身嗎?這個三位數本書也是等于 153 呢。

👸小媛:唔,你意思就是說符合這種規律的數就叫做水仙花數吧?

🐰小C:是的,理解了嗎?

👸小媛:懂是懂了,那怎么寫呢? 😨

🐰小C:其實這道題不難,有簡單的解法;我們知道,一個三位數的范圍是大于 99 以及小于 1000,那么我們只需要取模在 99 到 1000 之間數的個位、十位、百位,隨后使用這些書進行立方計算,最后進行求和,將最后的結果與原有的數進行對比,這時就可以得知當前的數是否是水仙花數了。

👸小媛:你的意思就是說使用一個循環,然后這個循環從變量直接從 100 開始往 1000 循環,隨后對這個循環變量進行取模,取到個位、十位、百位就可以進行計算了?

🐰小C:是的,你先試試這一步你能不能完成。

👸小媛:你在小看我,那么簡單,你看下面的代碼。 😡

#include<stdio.h>
int main(){int ones,tens,hundreds,i;for(i=100;i<1000;i++){ones=i%10;tens=i/10%10;hundreds=i/100;printf("%d : ones=%d , tens=%d , hundreds=%d \n",i,ones,tens,hundreds);}
}

🐰小C:那你來解釋一下循環里面你是怎么獲取個位、十位、百位的吧。

👸小媛:其實很簡單呀,循環是從 100 到 1000的循環,那么循環變量 i 也會逐漸進行增加,那么想要獲取個位,那么直接直接這個循環變量取模10就可以得到個位的數了。

🐰小C:具體怎樣可以詳細說說嗎?

👸小媛:那我給你舉個例子吧,例如 153%10 也就是 153 取模 10,取模就是除這個 10 后得到一個余數就是結果,那么此時除 10 就會得到數字 3,這個 3 就是得數,那么就得到了個位,代碼就可以寫成 ones=i%10;;百位的獲取也簡單,首先給 153 除 10,由于除 10 后是15.3 但是整型并不保留小數位,那么就可以得到 15,此時再對 15 進行取模即可得到 5 這個結果,代碼寫成 tens=i/10%10;;最后的百位即同理,直接除 100 就得到了 hundreds=i/100;

🐰小C:行,不錯。那你去進行檢驗過了嗎?檢驗可是最直接的驗證方式。

👸小媛:當然,下面就是結果。

🐰小C:那么你就還剩一步,判斷個位、十位、百位上的數字的立方相加是否等于循環變量 i,也就是他們原本的數,你知道怎么做嗎?

👸小媛:當然知道,那么簡單的需求,你看下面的完整代碼。

#include<stdio.h>
int main(){int ones,tens,hundreds,i;printf("水仙花數有:\n");for(i=100;i<1000;i++){ones=i%10;tens=i/10%10;hundreds=i/100;if(i==ones*ones*ones+tens*tens*tens+hundreds*hundreds*hundreds){printf("%d 、",i);}}
}

👸小媛:結果在下面。

🐰小C:解釋一下吧。

👸小媛:其實也就是在 for 循環中添加了一個 if 語句,判斷當前的循環變量 i 是否等于個位立方、十位立方、百位立方的相加和,如果等于就直接輸出就好了,在輸出內容的時候我也沒有換行,為了并排顯示,所以就沒加換行 \n

🐰小C:哈哈哈,考慮的挺周到的,那你懂水仙花數了吧?不難吧?

👸小媛:之前只是沒想過來,都是小東西。

本專欄已參加 CSDN 蓄力計劃,感謝讀者支持。

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

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

相關文章

Android之點擊圖片底部出現灰色圓圈效果

1 需求 點擊圖片底部出現灰色圓圈效果 2 代碼實現 1、num_oval_gray_def.xml <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="oval"androi…

【ArcGIS風暴】ArcGIS 10.8中計算體積的方法總結

ArcGIS 10.8提供了表面體積和面體積兩種計算體積的方法。 一、表面體積 用途:用于計算表面和參考平面之間區域的面積和體積。 Situation 1:參考面以上 Situation 2:參考面以下 Python腳本: import arcpy from arcpy import envarcpy.CheckOutExtension("3D")…

.NET7:更細致的時間

當年在做go時&#xff0c;很羨慕它的時間有微秒&#xff0c;納秒&#xff0c;在做性能優化時&#xff0c;能很小顆粒度的查看引入方法執行的時間&#xff0c;當時.net的DateTime只有毫秒&#xff08;雖然也有別的辦法獲取&#xff09;。現在&#xff0c;在最新的.NET7 Preview4…

集合轉數組

akdfajf //集合轉數組 // StringBuffer sql new StringBuffer(); // String[] arr new String[hjPztTalentInfos.size()]; // for (int i 0; i < hjPztTalentInfos.size(); i) { // arr[i] hjPztTalen…

Android之解決AppBarLayout 下面一道陰影

1 問題 AppBarLayout 下面寫了其它布局&#xff0c;但是當這個布局滑動到上面時候&#xff0c;AppBarLayout 下面有一道陰影 2 解決辦法 對AppBarLayout設置一個屬性&#xff1a; app:elevation"0dp"

案例:無人測量船水庫水下地形測量及庫容量計算

本文講解利用南方方洲號無人船,該系統可用于水下地形地貌測繪、水庫庫容測量、水文勘測、疏浚檢測、水環境監測等領域。 一、無人船水深測量 1、水岸線范圍的獲取 水岸線有助于布設航線,獲取方式有兩種: (1)無人船獲取 對于

小米android系統耗電量大,小米手機耗電快的解決方法,親測有效~

原標題&#xff1a;小米手機耗電快的解決方法&#xff0c;親測有效~各位機友大家好&#xff0c;據小安觀察&#xff0c;平臺故障報修的小米手機用戶還會蠻多的。那么今天就來講講小米手機的一些問題和解決方法&#xff0c;如果你感覺手機耗電較快&#xff0c;按照以下方式排查&…

【小白必懂】C語言最大、最小公約數題解

若是大一學子或者是真心想學習剛入門的小伙伴可以私聊我&#xff0c;若你是真心學習可以送你書籍&#xff0c;指導你學習&#xff0c;給予你目標方向的學習路線&#xff0c;無套路&#xff0c;博客為證。 前言 本專欄內容將會以輕松、簡單的方式完成習題的解答&#xff0c;用…

如何為微服務選擇正確的消息隊列

微服務及消息隊列簡史自從 Peter Rodgers 博士 2005 年在 Web Services Edge 會議上首次提出 Micro-Web-Services 一詞后&#xff0c;IT 行業慢慢地從單體架構轉向了微服務。2009 年&#xff0c;Netflix 決定把其單體架構拆分為微服務。2010 年&#xff0c;Best Buy 開始把它們…

Android之解決PC瀏覽器訪問手機服務端取assets目錄下的文件頁面顯示不出來問題

1 問題 我在手機里面寫了Java socket服務,然后把前端的圖片和css和js的文件放到了安卓項目的 assets目錄,然后瀏覽器訪問服務,我會把 assets目錄下的文件讀出來,然后用DataOutputStream流寫入瀏覽器,但是發現頁面顯示不出來 2 分析原因 我的代碼如下 public void sendHt…

【小白必懂】C語言回文數判斷

若是大一學子或者是真心想學習剛入門的小伙伴可以私聊我&#xff0c;若你是真心學習可以送你書籍&#xff0c;指導你學習&#xff0c;給予你目標方向的學習路線&#xff0c;無套路&#xff0c;博客為證。 情景再現 &#x1f478;小媛&#xff1a;小C&#xff0c;今天可以教我…

Android圖片上倒計時,Android自定義照相機倒計時拍照

自定義拍照會用到SurfaceView控件顯示照片的預覽區域&#xff0c;以下是布局文件&#xff1a;兩個TextView是用來顯示提示信息和倒計時的秒數的xmlns:tools"http://schemas.android.com/tools"android:layout_width"match_parent"android:layout_height&qu…

【經典回放】多種語言系列數據結構算法:樹(C#、JavaScript、VB6版)

目 錄 一、樹的C#語言實現以及顯示 二、樹的JavaScript語言實現以及顯示 三、樹的VB6語言實現以及顯示 一、樹的C#語言實現以及顯示 1

『技術群里聊些啥』查看 dotnet 源碼,用它!用它!用它!

前言有網友在交流群中詢問&#xff0c;怎么找到 System.Linq 源碼的庫&#xff1a;其實&#xff0c;我一直使用http://source.dot.net查看 dotnet 源碼&#xff0c;這可是David Fowler&#xff08;微軟 .NET 架構師&#xff09;也推薦的&#xff1a;功能演示那它到底有哪些功能…

Android之解決PC瀏覽器上傳表單文件到手機服務器read數據錯誤導致有時候下載到手機的文件打開文字錯亂問題

1 、問題 手機客戶端app通過java socket寫了一個服務器,然后PC端通過瀏覽器訪問服務端顯示上傳頁面(這些資源都在手機端),然后其中有一個功能是PC端上傳文件到手機服務器,然后把這個文件下載到手機本地,但是我有時候PC上傳的文件打文字會錯亂。 2、http的表單文件上傳文…

javadoc注釋規范

javadoc注釋規范 javadoc做注釋 一. Java 文檔 // 注釋一行 /* ...... */ 注釋若干行 /** ...... */ 注釋若干行&#xff0c;并寫入 javadoc 文檔 通常這種注釋的多行寫法如下&#xff1a; /** * ......... * ......... */ javadoc -d 文檔存放目錄 -author -version 源文件名.…

(7)3分鐘搞定 C# 邏輯運算

本系列文章將會以通俗易懂的對話方式進行教學&#xff0c;對話中將涵蓋了新手在學習中的一般問題。此系列將會持續更新&#xff0c;包括別的語言以及實戰都將使用對話的方式進行教學&#xff0c;基礎編程語言教學適用于零基礎小白&#xff0c;之后實戰課程也將會逐步更新。 若…

【經典回放】多種語言系列數據結構算法:二叉樹(C#版)

實驗任務描述 1 用C#語言完成二叉樹的類、并構造出一個二叉樹; 2 用遞歸方法完成二叉樹的遍歷; 3 泛型的二叉樹遍歷之一、用隊列給出遍歷結果 4 泛型的二叉樹遍歷之二、委托方式給出二叉樹遍歷結果 1 二叉樹類的設計 同C語言一樣,要構建一個二叉樹,要用到類似struct的東西…

ThinkPHP講解(十二)——文本編輯器和ajax傳址

一、文本編輯器 1.首先&#xff0c;在網上下載ueditor文件 2.在要添加文本編輯器的頁面中引用ueditor文件中的js文件 <script type"text/javascript" charset"utf-8" src"../ueditor/utf8-php/ueditor.config.js"></script> <scr…

(8)小白又如何?3分鐘搞定一個 C# 知識點

本系列文章將會以通俗易懂的對話方式進行教學&#xff0c;對話中將涵蓋了新手在學習中的一般問題。此系列將會持續更新&#xff0c;包括別的語言以及實戰都將使用對話的方式進行教學&#xff0c;基礎編程語言教學適用于零基礎小白&#xff0c;之后實戰課程也將會逐步更新。 若…