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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈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…