PTA刷題筆記3(微難,有詳解)

·7-15 計算圓周率

代碼如下:

#include <stdio.h>int main() {double threshold;scanf("%lf", &threshold);double pi_over_2 = 1.0;  // π/2的初始值(第一項1)double term = 1.0;       // 當前項的值int n = 1;               // 當前項的索引while (term >= threshold) {term = term * n / (2 * n + 1);  // 遞推計算下一項pi_over_2 += term;n++;}double pi = 2 * pi_over_2;  // 計算π的近似值printf("%.6f\n", pi);       // 輸出結果,保留6位小數return 0;
}

·7-16 求符合給定條件的整數集

分析題目

題目要求給定一個不超過6的正整數A,考慮從A開始的連續4個數字(即A, A+1, A+2, A+3),然后輸出所有由這4個數字組成的無重復數字的3位數。

例如輸入樣例是2,那么4個數字是2,3,4,5,然后生成所有可能的3位數排列(排列數P(4,3)=4×3×2=24個)。

解決思路

1. 獲取輸入的數字A
2. 生成4個連續數字:A, A+1, A+2, A+3
3. 生成所有可能的3位數排列(不能有重復數字)
4. 將結果排序
5. 按要求格式輸出(每行6個,空格分隔,行末無空格)

代碼如下:

#include <stdio.h>int main() 
{int A;scanf("%d", &A);int digits[4];for (int i = 0; i < 4; i++) {digits[i] = A + i;}int count = 0;for (int i = 0; i < 4; i++) {for (int j = 0; j < 4; j++) {if (j == i) continue;for (int k = 0; k < 4; k++) {if (k == i || k == j) continue;int num = digits[i] * 100 + digits[j] * 10 + digits[k];if (count % 6 == 0) {if (count != 0) printf("\n");printf("%d", num);//每行的首個元素} else {printf(" %d", num);//每行剩下的五個元素,注意前面有空格}count++;}}}return 0;
}

代碼解釋

1. 首先讀取輸入的整數A
2. 創建一個數組digits存儲A開始的4個連續數字
3. 使用三重循環生成所有排列:
? ?·?第一層循環選擇百位數
? ?·?第二層循環選擇十位數(不能與百位數相同)
? ?·?第三層循環選擇個位數(不能與百位或十位數相同)
4. 在輸出時控制格式,每6個數字一行,用空格分隔,行末無多余空格
5. 使用count變量跟蹤已輸出的數字數量來控制換行

·7-17 爬動的蠕蟲

代碼如下:

#include <stdio.h>int main() {int N, U, D;scanf("%d %d %d", &N, &U, &D);int time = 0;int height = 0;while (1) {// 向上爬height += U;time++;if (height >= N) {break;}// 下滑height -= D;time++;}printf("%d\n", time);return 0;
}

代碼說明

1. 輸入處理*:使用 scanf 讀取三個整數N、U、D,分別代表井深、每分鐘上爬距離和每分鐘下滑距離。

2. 初始化:
? ?·? time 變量記錄總時間(分鐘)
? ?·? height 變量記錄蠕蟲當前高度

3. 主循環:
? ?·?每次循環先讓蠕蟲向上爬U寸,時間增加1分鐘
? ?·?檢查是否到達或超過井口(`height >= N`),如果是則跳出循環
? ?·?如果沒有到達井口,則下滑D寸,時間再增加1分鐘

4. 輸出結果:使用 printf 輸出總時間

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

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

相關文章

基于SpringBoot+Vue的社區醫院信息平臺設計與實現

項目背景與概述 隨著醫療健康信息化的發展&#xff0c;社區醫院的管理逐漸由傳統的手工模式轉向信息化管理。為了提高醫院的管理效率、減少人工操作、提升服務質量&#xff0c;開發一個高效且實用的社區醫院信息平臺顯得尤為重要。本系統基于Spring Boot框架與MySQL數據庫設計…

舊物回收小程序:讓閑置煥發光彩,為生活增添價值

你是否常常為家中堆積如山的閑置物品而煩惱&#xff1f;那些曾經心愛的物品&#xff0c;如今卻成了占據空間的“雞肋”&#xff0c;丟棄可惜&#xff0c;留著又無處安放。別擔心&#xff0c;一款舊物二手回收小程序將為你解決這一難題&#xff0c;讓閑置物品重新煥發光彩&#…

掩碼與網關是什么?

1. 子網掩碼&#xff08;Subnet Mask&#xff09; 作用&#xff1a;劃分“小區”范圍 想象你住在一個小區&#xff08;子網&#xff09;里&#xff1a; 小區門牌號 IP地址&#xff08;如 192.168.1.10&#xff09; 小區邊界 子網掩碼&#xff08;如 255.255.255.0&#xf…

【Bluedroid】藍牙HID Host disconnect流程源碼解析

本文基于 Android 藍牙 HID&#xff08;Human Interface Device&#xff09;Host 模塊的源碼&#xff0c;深入解析 HID 設備斷開連接的完整流程。重點覆蓋從應用層觸發斷開請求&#xff0c;到 BTIF 層&#xff08;接口適配層&#xff09;狀態校驗與異步傳遞、BTA 層&#xff08…

python定時刪除指定索引

腳本 import logging from datetime import datetime, timedelta from elasticsearch import Elasticsearch# 配置日志記錄 logging.basicConfig(filenamedelete_uat_indices.log,levellogging.INFO,format%(asctime)s - %(levelname)s - %(message)s )# Elasticsearch 集群的…

GESP編程等級認證C++三級7-字符、字符數組與字符串2

2.3 用字符串定義字符數組的好處 使用字符串定義字符數組需要額外考慮其末尾的“\0”&#xff0c;為什么還要使用這種看上去“麻煩”的方法呢&#xff1f;從圖5所示的代碼就能看出原因。 圖5 用字符串定義字符數組好處的代碼 從圖5中可以看出&#xff0c;a4是用字符串進行初始…

EasyRTC音視頻實時通話WebP2P技術賦能的全場景實時通信解決方案

一、技術背景 在數字化浪潮席卷全球的當下&#xff0c;實時通信技術憑借其即時性、高效性的優勢&#xff0c;已然成為推動各行業創新發展的核心動能。EasyRTC深度融合WebP2P技術&#xff0c;構建起去中心化的通信架構&#xff0c;實現了低延遲、高可靠的數據傳輸&#xff0c;為…

Claude MCP協議從入門到精通

目錄 一、什么是MCP協議? 二、Function Calling 和 MCP 協議的區別? 三、MCP相關網站 3.1 官方文檔 3.2 綜合型 MCP 資源聚合平臺 3.3 垂直領域 MCP Server 工具 3.4 開發者工具與社區 3.5 企業級服務與數據庫集成 3.6 新手友好型平臺 四、MCP 架構 4.1. MCP Hosts…

YOLOv11改進 | Conv/卷積篇 | 2024 ECCV最新大感受野的小波卷積WTConv助力YOLOv11有效漲點

YOLOv11改進 | Conv/卷積篇 | 2024 ECCV最新大感受野的小波卷積WTConv助力YOLOv11有效漲點 引言 在計算機視覺領域&#xff0c;卷積神經網絡&#xff08;CNN&#xff09;的核心操作——卷積運算正經歷著革命性的變革。2024年ECCV會議提出的**小波卷積&#xff08;WTConv, Wav…

英偉達CEO黃仁勛COMPUTEX 2025演講實錄:AI工廠時代已來,Blackwell架構全面投產

5月19日&#xff0c;英偉達創始人兼首席執行官黃仁勛在臺北國際電腦展&#xff08;COMPUTEX 2025&#xff09;發表主題演講&#xff0c;系統闡述了英偉達從芯片設計向AI基礎設施服務商的戰略轉型&#xff0c;并披露了包括Blackwell架構升級、新一代AI計算平臺及機器人技術在內的…

RabbitMQ的核心原理及應用

在分布式系統架構中&#xff0c;消息中間件是實現服務解耦、流量緩沖的關鍵組件。RabbitMQ 作為基于 AMQP 協議的開源消息代理&#xff0c;憑借高可靠性、靈活路由和跨平臺特性&#xff0c;被廣泛應用于企業級開發和微服務架構中。本文將系統梳理 RabbitMQ 的核心知識&#xff…

服務攻防矩陣

4.1 中間件漏洞利用 WebLogic反序列化漏洞&#xff08;CVE-2023-21839&#xff09; 漏洞原理&#xff1a; T3協議反序列化未嚴格校驗&#xff0c;攻擊者可注入惡意序列化對象執行任意代碼。 攻擊流程&#xff1a; 使用ysoserial生成CommonsCollections6 payload&#xff1…

PictureThis 解鎖高級會員版_v5.3.0 拍植物知名稱和植物百科

PictureThis 解鎖高級會員版_v5.3.0 拍植物知名稱和植物百科 PictureThis是一款創新的植物識別與園藝指導應用程序&#xff0c;旨在幫助用戶快速識別植物種類、了解植物信息&#xff0c;并提供專業的園藝養護建議…

大模型 Agent 就是文字藝術嗎?

最近在技術圈里有一個很有趣的爭論&#xff1a;大模型 Agent 是不是就是各種 Prompt 的堆疊&#xff1f;像 Manus 這樣看起來很智能的 Agent&#xff0c;本質上是不是就是用巧妙的 Prompt 約束大模型生成更好的輸出&#xff1f;換句話說&#xff0c;這是不是一門文字藝術&#…

LeetCode 1340. 跳躍游戲 V(困難)

題目描述 給你一個整數數組 arr 和一個整數 d 。每一步你可以從下標 i 跳到&#xff1a; i x &#xff0c;其中 i x < arr.length 且 0 < x < d 。i - x &#xff0c;其中 i - x > 0 且 0 < x < d 。 除此以外&#xff0c;你從下標 i 跳到下標 j 需要滿…

三相電壓的優勢,應用場景,功率測量

三相系統概述 我國三相系統&#xff0c;由頻率相同&#xff0c;幅度類似的三個交流電壓組成&#xff0c;每個電壓相差120度。 三相系統的優勢 啟動電機&#xff1a;三個矢量間隔的電壓&#xff0c;在電機中產生旋轉磁場&#xff0c;不需要額外繞組就可以啟動電機。 減少線損…

[原創](計算機數學)(The Probability Lifesaver)(P14): 推導計算 In(1-u) 約等于 -u

[作者] 常用網名: 豬頭三 出生日期: 1981.XX.XX 企鵝交流: 643439947 個人網站: 80x86匯編小站 編程生涯: 2001年~至今[共24年] 職業生涯: 22年 開發語言: C/C++、80x86ASM、Object Pascal、Objective-C、C#、R、Python、PHP、Perl、 開發工具: Visual Studio、Delphi、XCode、…

Android12 Rom定制去掉剪貼板復制成功的Toast

Android12Rom定制去掉剪貼板復制成功的Toast提示 1.前言&#xff1a; 最近在rom定制化開發時&#xff0c;測試提了一個bug&#xff0c;在瀏覽器或者文本里面使用剪貼板復制成功后會有一個Toast提示&#xff0c;這種體驗不是很好&#xff0c;因為每次復制成功都有一個提示&…

SOC-ESP32S3部分:9-GPIO輸入按鍵狀態讀取

飛書文檔https://x509p6c8to.feishu.cn/wiki/L6IGwHKV6ikQ08kqwAwcAvhznBc 前面我們學習了GPIO的輸出&#xff0c;GPIO輸入部分其實也是一樣的&#xff0c;這里我們使用按鍵作為GPIO輸入例程講解&#xff0c;分三步走。 查看板卡原理圖&#xff0c;確定使用的是哪個GPIO查看G…

高可用集群keepalived

1.不同操作系統的安裝 1.1 不同系統編譯安裝 ubuntu環境 apt-get - y install libssl-dev libpopt-dev daemon build-essential libssl-dev openssl libpopt-dev libsnmp-dev libnl-3-dev libnl-genl-3-dev centos環境 &#xff08;其他的下同&#xff09; yum install - y…