C基礎寒假練習(2)

一、輸出3-100以內的完美數,(完美數:因子和(因子不包含自身)=數本身

#include <stdio.h>// 函數聲明
int isPerfectNumber(int num);int main() 
{printf("3-100以內的完美數有:\n");for (int i = 3; i <= 100; i++){if (isPerfectNumber(i)) {printf("%d\n", i);}}return 0;
}// 判斷是否為完美數的函數
int isPerfectNumber(int num) 
{int sum = 1; // 1是所有正整數的因子for (int i = 2; i * i <= num; i++) {if (num % i == 0) {if (i * i != num) {sum += i + num / i;}else {sum += i;}}}return sum == num && num != 1;
}

以下是對代碼的詳細解釋:
1. 函數聲明: ? ? ? ?
?

int isPerfectNumber(int num);

? ? 這行代碼聲明了一個名為isPerfectNumber的函數,該函數接受一個整數參數并返回一個整數。
2. 主函數: ? ? ? ?

int isPerfectNumber(int num) 
{int sum = 1; // 1是所有正整數的因子for (int i = 2; i * i <= num; i++) {if (num % i == 0) {if (i * i != num) {sum += i + num / i;}else {sum += i;}}}return sum == num && num != 1;
}

? ? 這個函數用于判斷一個數是否為完美數。具體步驟如下:
? 初始化sum為1,因為1是所有正整數的因子。
? 使用一個循環從2開始遍歷到sqrt(num),檢查每個數是否是num的因子。
? 如果i是num的因子,并且i*i不等于num,則將i和num/i都加到sum中。如果i*i等于num,則只加一次i。
? 最后,檢查sum是否等于num且num不等于1。如果條件成立,則返回1(表示是完美數),否則返回0(表示不是完美數)。

教師版:

二、百錢買百雞問題,一百元錢去買雞,公雞5元,母雞3元,三只小雞1元,問買一百只雞,有多少種買法。

#include <stdio.h>int main()  
{int rooster, hen, chick;int count = 0; // 用于記錄符合條件的組合數for (rooster = 0; rooster <= 20; rooster++) { // 公雞最多只能買20只(5*20=100)for (hen = 0; hen <= 33; hen++) { // 母雞最多只能買33只(3*33=99)chick = 100 - rooster - hen; // 小雞的數量由總數100減去公雞和母雞的數量得到if (chick % 3 == 0 && (5 * rooster + 3 * hen + chick / 3) == 100) { // 檢查是否符合條件printf("Rooster: %d, Hen: %d, Chick: %d\n", rooster, hen, chick);count++;}}}printf("Total combinations: %d\n", count);return 0;
}

代碼解釋:
1. 變量聲明:
? rooster:表示公雞的數量。
? hen:表示母雞的數量。
? chick:表示小雞的數量。
? count:用于記錄符合條件的組合數。
2. 循環結構:
? 外層循環遍歷公雞的數量,從0到20(因為每只公雞5元,所以最多只能買20只)。
? 內層循環遍歷母雞的數量,從0到33(因為每只母雞3元,所以最多只能買33只)。
? 計算小雞的數量為100 - rooster - hen。
3. 條件判斷:
? 檢查小雞的數量是否是3的倍數(因為三只小雞1元)。
? 檢查總價是否等于100元。
4. 輸出結果:
? 如果符合條件,打印當前組合并增加計數器。
? 最后輸出符合條件的組合總數。
運行這段代碼,你將得到所有符合條件的組合以及組合的總數。

教師版:

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

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

相關文章

有限元分析學習——Anasys Workbanch第一階段筆記梳理

第一階段筆記主要源自于嗶哩嗶哩《ANSYS-workbench 有限元分析應用基礎教程》 張曄 主要內容導圖&#xff1a; 筆記導航如下&#xff1a; Anasys Workbanch第一階段筆記(1)基本信息與結果解讀_有限元分析變形比例-CSDN博客 Anasys Workbanch第一階段筆記(2)網格單元與應力奇…

html基本結構和常見元素

html5文檔基本結構 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><title>文檔標題</title> </head> <body>文檔正文部分 </body> </html> html文檔可分為文檔頭和文檔體…

Cursor如何使用Google Gemini以及碰到的坑

Cursor如何使用Google Gemini以及碰到的坑 Cursor介紹下載安裝Google Gemini介紹Google Gemini 官網申請Google Gemini API網址 配置Cursor使用Google Gemini打開Corsur設置 Cursor介紹 ?Cursor是一款基于人工智能的代碼編輯器&#xff0c;旨在幫助開發者更高效地編寫代碼。?…

【云安全】云原生-K8S-簡介

K8S簡介 Kubernetes&#xff08;簡稱K8S&#xff09;是一種開源的容器編排平臺&#xff0c;用于管理容器化應用的部署、擴展和運維。它由Google于2014年開源并交給CNCF&#xff08;Cloud Native Computing Foundation&#xff09;維護。K8S通過提供自動化、靈活的功能&#xf…

【C++】線程池實現

目錄 一、線程池簡介線程池的核心組件實現步驟 二、C11實現線程池源碼 三、線程池源碼解析1. 成員變量2. 構造函數2.1 線程初始化2.2 工作線程邏輯 3. 任務提交(enqueue方法)3.1 方法簽名3.2 任務封裝3.3 任務入隊 4. 析構函數4.1 停機控制 5. 關鍵技術點解析5.1 完美轉發實現5…

深入理解 C# 與.NET 框架

.NET學習資料 .NET學習資料 .NET學習資料 一、引言 在現代軟件開發領域&#xff0c;C# 與.NET 框架是構建 Windows、Web、移動及云應用的強大工具。C# 作為一種面向對象的編程語言&#xff0c;而.NET 框架則是一個綜合性的開發平臺&#xff0c;它們緊密結合&#xff0c;為開…

雷電等基于VirtualBox的Android模擬器映射串口和測試CSerialPort串口功能

雷電等基于VirtualBox的Android模擬器映射串口和測試CSerialPort串口功能 1. 修改VirtualBox配置文件映射串口 模擬器配置文件vms/leidian0/leidian.vbox。 在UART標簽下增加(修改完成后需要將leidian.vbox修改為只讀) <Port slot"1" enabled"true"…

【Linux系統】SIGCHLD 信號(選學了解)

SIGCHLD 信號 使用wait和waitpid函數可以有效地清理僵尸進程。父進程可以選擇阻塞等待&#xff0c;直到子進程結束&#xff1b;或者采用非阻塞的方式&#xff0c;通過輪詢檢查是否有子進程需要被回收。 然而&#xff0c;無論是選擇阻塞等待還是非阻塞的輪詢方式&#xff0c;父…

【R語言】獲取數據

R語言自帶2種數據存儲格式&#xff1a;*.RData和*.rds。 這兩者的區別是&#xff1a;前者既可以存儲數據&#xff0c;也可以存儲當前工作空間中的所有變量&#xff0c;屬于非標準化存儲&#xff1b;后者僅用于存儲單個R對象&#xff0c;且存儲時可以創建標準化檔案&#xff0c…

Vim的基礎命令

移動光標 H(左) J(上) K(下) L(右) $ 表示移動到光標所在行的行尾&#xff0c; ^ 表示移動到光標所在行的行首的第一個非空白字符。 0 表示移動到光標所在行的行首。 W 光標向前跳轉一個單詞 w光標向前跳轉一個單詞 B光標向后跳轉一個單詞 b光標向后跳轉一個單詞 G 移動光標到…

11. 9 構建生產級聊天對話記憶系統:從架構設計到性能優化的全鏈路指南

構建生產級聊天對話記憶系統:從架構設計到性能優化的全鏈路指南 關鍵詞: 聊天對話記憶系統、多用戶會話管理、LangChain生產部署、Redis記憶存儲、高并發對話系統 一、服務級聊天記憶系統核心需求 多用戶隔離:支持同時處理數千個獨立對話持久化存儲:對話歷史不因服務重啟丟…

Block Blaster Online:免費解謎游戲的樂趣

Block Blaster Online 是一款免費的在線解謎游戲&#xff0c;它將挑戰你的思維和反應能力&#xff01;在這里&#xff0c;你可以匹配五彩繽紛的方塊&#xff0c;創造出令人驚嘆的組合&#xff0c;享受無盡的解謎樂趣。無需安裝&#xff0c;點擊即可開始&#xff0c;加入全球數百…

Guided Decoding (借助FSM,有限狀態自動機)

VLLM對結構化輸出的支持&#xff1a; vllm/docs/source/features/structured_outputs.md at main vllm-project/vllm GitHub VLLM對tool call的支持&#xff1a; vllm/docs/source/features/tool_calling.md at main vllm-project/vllm GitHub 以上指定輸出格式&#xf…

IFeatureWorkspace.CreateFeatureClass(),報錯對COM組件的調用返回了錯誤 HRESULT E_FAIL

1、問題描述&#xff1a;在AE開發中&#xff0c;新增一個空的shpfile文件的時候&#xff0c;報錯&#xff0c;如下圖&#xff1a; 2、原因分析&#xff1a;產生此問題的原因是未設置默認字段的默認參數&#xff0c;特別是未設置IGeometryDef 參數。 3、解決方案&#xff1a;在…

算法題(48):反轉鏈表

審題&#xff1a; 需要我們將鏈表反轉并返回頭結點地址 思路&#xff1a; 一般在面試中&#xff0c;涉及鏈表的題會主要考察鏈表的指向改變&#xff0c;所以一般不會允許我們改變節點val值。 這里是單向鏈表&#xff0c;如果要把指向反過來則需要同時知道前中后三個節點&#x…

內存的介紹

1、程序運行為什么需要內存 1.1、計算機程序運行的目的 (1)程序的目的是為了去運行&#xff0c;程序運行是為了得到一定的結果。 (2)計算機程序 代碼 數據。計算機程序運行完得到一個結果&#xff0c;就是說 代碼 數據 (經過運行后) 結果。 (3)從宏觀上來理解&#xff…

【NLP百面百過】大模型算法面試高頻面題(全面整理 ???)

目錄 一、大模型面試指南 重點面題精講 【LLM面題精講 - RAG系統面】 查看答案 【LLM面題精講 - 實體識別面】 查看答案 【LLM面題精講 - 文本分類面】 查看答案 【LLM面題精講 - 分布式訓練面】 查看答案 【LLM面題精講 - 大模型微調面】 查看答案 【LLM面題精講 - 大…

Java 大視界 -- Java 大數據在智能醫療影像診斷中的應用(72)

??親愛的朋友們,熱烈歡迎來到 青云交的博客!能與諸位在此相逢,我倍感榮幸。在這飛速更迭的時代,我們都渴望一方心靈凈土,而 我的博客 正是這樣溫暖的所在。這里為你呈上趣味與實用兼具的知識,也期待你毫無保留地分享獨特見解,愿我們于此攜手成長,共赴新程!?? 一、…

基于 docker 的mysql 5.7 主主集群搭建

創建掛載目錄和配置文件 主節點1 mkdir -p /mysql_master_1/mysql/log mkdir -p /mysql_master_1/mysql/data mkdir -p /mysql_master_1/mysql/conf vim /mysql_master_1/mysql/conf/my.cnf[mysqld] datadir/var/lib/mysql #MySQL 數據庫文件存放路徑 server_id 1 #指定數據…

list容器(詳解)

list的介紹及使用&#xff08;了解&#xff0c;后邊細講&#xff09; 1.1 list的介紹&#xff08;雙向循環鏈表&#xff09; https://cplusplus.com/reference/list/list/?kwlist&#xff08;list文檔介紹&#xff09; 1. list是可以在常數范圍內在任意位置進行插入和刪除的序…