计算机二级备考

ops/2025/3/9 10:08:54/

1.头文件和命名空间

#include <iostream>//包含标准输入输出流库,用于使用cout和cin进行控制台输入输出。
#include <cmath>//包含数学库,这里虽然代码中未直接使用,但可能后续扩展会用到相关数学函数。
#include <fstream>//包含文件流库,用于文件的读写操作。
#include <string>//包含字符串库,用于处理字符串类型的数据。
using namespace std;//使用标准命名空间,这样可以直接使用标准库中的类和函数,而无需添加std::前缀。

 2.

#include <iostream>
#include <cmath>
#include <fstream>
#include <string>
using namespace std;// 定义FlowerNumber类,用于计算指定范围内的花朵数
class FlowerNumber {
public:// 构造函数,初始化最小值、最大值和计数,用于初始化min、max和count,min和max表示待计算的数值范围,count用于记录花朵数的数量。FlowerNumber(int x1, int x2) : min(x1), max(x2), count(0) {}// 计算数字x的位数int GetDigits(int x);// 重置计数void ResetCount() { count = 0; }// 获取当前花朵数的数量int GetCount() const { return count; }// 获取集合中指定索引位置的花朵数int GetSet(int index) { return set[index]; }// 计算指定范围内的花朵数void Flower();// 打印指定范围内的花朵数信息void Print() {cout << min << "和" << max << "之间的花朵数共有" << count << "个:" << endl;for (int i = 0; i < count; i++)cout << set[i] << ' ';cout << endl;}private:int digit;  // 花朵数的位数int min, max;  // 待计算的数值范围int count;  // 花朵数的数量int set[40];  // 花朵数集合
};// 实现GetDigits函数,计算数字x的位数
int FlowerNumber::GetDigits(int x) {int i;for (i = 0; x > 0; i++)x /= 10;return i;
}// 实现Flower函数,计算指定范围内的花朵数
void FlowerNumber::Flower() {int sum = 0;//声明一个整数变量sum并初始化为0,用于存储各位数字的幂次方和。// 遍历从min到max的所有整数for (int i = min; i <= max; i++) {//使用for循环遍历从min到max(包含min和max)的所有整数。int t = i, p = 1, r;//声明变量t,并将当前循环变量i的值赋给t,用于后续分解各位数字。声明变量p并初始化为1,用于计算各位数字的幂次方。声明变量r,用于存储t的最后一位数字。// 获取当前数字i的位数,并将结果存储在变量digit中,GetDigits函数的作用是计算一个数字的位数digit = GetDigits(i);sum = 0;  // 在每次循环开始时,将sum重置为0,以便重新计算当前数字的各位数字的幂次方和。while (t) {//这个循环的目的是分解数字t的每一位,并计算它们的幂次方和。p = 1;//在每次循环迭代开始时,将p重置为1,用于计算当前位数字的幂次方。r = t % 10;// 使用取模运算符%获取t的最后一位数字,并存储在变量r中。if (r == 0)//如果最后一位数字r是0,则将p设置为0。是因为0的任何次幂都是0,所以直接跳过计算p = 0;else {//计算r的digit次幂。for (int j = 0; j < digit; j++)p = p * r;}sum += p;t = t / 10;  // 去掉t的最后一位数字}// 检查sum是否等于当前数字i。如果相等,说明i是一个水仙花数(Flower Number),将其存储到数组set中,并将count递增1。if (sum == i)set[count++] = i;}
}// 将花朵数信息写入文件的函数
void writeToFile(const string filename) {ofstream outFile(filename);if (outFile.is_open()) {// 这里可以添加将花朵数信息写入文件的逻辑outFile.close();} else {cerr << "无法打开文件" << endl;}
}int main() {int d1, d2;cout << "请输入整数序列范围,以两个整数表示,空格为分隔符,回车键结束:";cin >> d1 >> d2;// 创建FlowerNumber对象FlowerNumber obj(d1, d2);// 调用Flower函数计算花朵数obj.Flower();// 调用Print函数打印花朵数信息obj.Print();// 调用writeToFile函数将花朵数信息写入文件writeToFile("");return 0;
}


http://www.ppmy.cn/ops/164341.html

相关文章

LINUX网络基础 [五] - HTTP协议

目录 HTTP协议 预备知识 认识 URL 认识 urlencode 和 urldecode HTTP协议格式 HTTP请求协议格式 HTTP响应协议格式 HTTP的方法 HTTP的状态码 ​编辑HTTP常见Header HTTP实现代码 HttpServer.hpp HttpServer.cpp Socket.hpp log.hpp Makefile Web根目录 H…

计算机毕业设计SpringBoot+Vue.js社团管理系统(源码+文档+PPT+讲解)

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

【连珠云弈】网页五子棋版项目测试报告

目录 一、项目背景 1.1、项目起源 1.2、市场需求 1.3、项目目标 二、项目功能 2.1 用户管理功能 2.2 游戏对战功能 三、测试报告 3.1.功能测试 ​编辑 3.1.1注册功能测试 解决bug&#xff1a; 测试总结&#xff1a; 3.1.2登录功能测试 测试总结&#xff1a; 3.…

夏门大学DeepSeek 手册:从社会大众到高校及企业的全面应用实践研究(附 PDF 下载)

这 3 份手册分别从 DeepSeek 大模型概念、技术与应用实践、DeepSeek 大模型赋能高校教学和科研、DeepSeek 大模型及其企业应用实践-企业人员的大模型宝典几个角度进行全面分析&#xff0c;可以结合着清华、北大系列相互对照着学习。 清华北大推出的 DeepSeek 教程&#xff08;…

【AI赋能】AI 工具生成视频教材:从创意到成品的全流程指南

AI 工具生成视频教材&#xff1a;从创意到成品的全流程指南 目标 通过本教材&#xff0c;您将学会如何利用 AI 工具&#xff08;Grok、Sora、Speechify 和 CapCut&#xff09;生成一个完整的视频&#xff0c;包括脚本生成、视频片段制作、字幕添加、音频生成以及最终剪辑合成…

syncthing多节点文件同步

服务安装 在官方地址 https://syncthing.net/downloads/ 下载对应平台的版本进行安装 文件同步至少要部署两个节点&#xff0c;然后在这两台设备上启动 syncthing 服务 在 ubuntu 下&#xff0c;生成的配置是在用户的 .local 目录下 /root/.local/state/syncthing 在 win10…

说一下redis事务底层原理

Redis事务 1. 事务的基本流程 Redis 事务通过 MULTI、EXEC、WATCH 等命令实现&#xff0c;底层原理可以分为以下几个步骤&#xff1a; (1) MULTI 命令 当客户端发送 MULTI 命令时&#xff0c;Redis 会将客户端标记为“事务模式”。在事务模式下&#xff0c;客户端发送的所有…

MySQL进阶-关联查询优化

采用左外连接 下面开始 EXPLAIN 分析 EXPLAIN SELECT SQL_NO_CACHE * FROM type LEFT JOIN book ON type.card book.card; 结论&#xff1a;type 有All ,代表着全表扫描&#xff0c;效率较差 添加索引优化 ALTER TABLE book ADD INDEX Y ( card); #【被驱动表】&#xff0…