week3-[循环嵌套]好数

week3-[循环嵌套]好数

题目描述

如果一个正整数 xxx 只有最左边一位不是 000,其余都是 000,那么称其为好数。例如 400040004000222 都是好数,但是 120120120 不是。

给定正整数 nnn,在 111nnn 间有多少个数是好数?又有多少个数能表示为两个好数的和?

输入格式

输入共 111111 个正整数 nnn

输出格式

输出共 222 行。

111111 个整数表示有多少个数是好数。

222111 个整数表示有多少个数能表示为两个好数之和。

样例 #1

样例输入 #1

15

样例输出 #1

10
14

提示

样例解释 111

1,2,3,4,5,6,7,8,9,101,2,3,4,5,6,7,8,9,101,2,3,4,5,6,7,8,9,10 都是好数。

数据范围

对于所有数据,1≤n≤100001\leq n\leq 100001n10000

这题分两部分:统计好数统计能表示为两个好数之和的数


🔎 分析

1️⃣ 什么是好数

  • 定义:只有最左边一位不是 0,其余都是 0
  • 也就是形式为 d * 10^k,其中 d=1~9k ≥ 0
  • 例子:
    • 2 → 好数
    • 10 → 好数
    • 120 → 不是好数
方法:
  • 对 1~n 遍历:
    • 转字符串检查是否首位非零,其余都是零
    • 或者数学方法:判断 x 是否能被其首位数字后的 10 的幂整除

2️⃣ 统计能表示为两个好数之和的数

  • 先生成所有好数 good[] ≤ n
  • 枚举所有两两组合 good[i] + good[j] ≤ n → 计数
  • 注意:不同组合得到相同的和只算一次 → 用布尔数组 ok[1..n] 标记

📝 C++ 实现

#include <bits/stdc++.h>
using namespace std;// 判断一个数是否为好数
bool isGood(int x) {while (x % 10 == 0 && x > 0) x /= 10; // 去掉末尾0return x >= 1 && x <= 9;               // 去掉末尾0后是否在1~9
}int main() {int n;cin >> n;vector<int> good;for (int i = 1; i <= n; i++) {if (isGood(i)) good.push_back(i);}cout << good.size() << endl;vector<bool> can(n+1, false);for (int i = 0; i < good.size(); i++) {for (int j = i; j < good.size(); j++) {int sum = good[i] + good[j];if (sum <= n) can[sum] = true;}}int cnt = 0;for (int i = 1; i <= n; i++) if (can[i]) cnt++;cout << cnt << endl;return 0;
}c++

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/93935.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/93935.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

智能制造加速器:某新能源车智慧工厂无线网络优化提升方案

随着工业4.0和智能制造的快速发展&#xff0c;传统制造工厂的网络架构正面临前所未有的挑战。为了满足柔性生产、实时数据驱动以及高可靠运营的需求&#xff0c;某新能源车智慧工厂启动了一项无线网络优化提升项目。本项目通过部署智能组网设备&#xff0c;构建高效、稳定、智能…

nginx-自制证书实现

nginx-自制证书实现一、 确认nginx是支持https功能的二、生成私钥三、 根据ca.key生成nginx web服务器使用的证书签名请求文件nginx.csr四、使用ca.key给nginx.csr进行签名&#xff0c;生成公钥证书nginx.crt五、将证书与域名绑定六、添加域名解析并访问一、 确认nginx是支持ht…

FreeRTOS,事件标注组创建,xEventGroupCreate、xEventGroupCreateStatic

1. xEventGroupCreate ()&#xff1a;动态创建&#xff08;临时借内存&#xff09; 作用&#xff1a; 向系统&#xff08;FreeRTOS 的堆内存&#xff09;“临时申请” 一块内存来存放事件组&#xff0c;不需要我们自己提前准备内存。 例子&#xff08;基于你的代码修改&#xf…

Linux网络socket套接字(上)

目录 前言 1.Socket编程准备 1.理解源IP地址和目的IP地址 2.认识端口号 3.socket源来 4.传输层的典型代表 5.网络字节序 6.socket编程接口 2.Socket编程UDP 1.服务端创建套接字 2.服务端绑定 3.运行服务器 4.客户端访问服务器 5.测试 6.补充参考内容 总结 前言…

RK android14 Setting一级菜单IR遥控器无法聚焦问题解决方法

文章目录 前言 一、问题分析 1.1. 布局文件分析 1.2. Java代码 二、解决方法 2.1.移除冲突的滚动标志 2.2.解决有问题的初始化调用 2.3.完整补丁 前言 在Android系统Settings应用(packages/apps/Settings)的首页(SettingsHomepageActivity)中,存在一个 accessibility (无…

iOS 手势与控件事件冲突解决清单

总结一份「iOS 手势与控件事件冲突解决清单」&#xff0c;以后你遇到 UIButton / UITableView / UIScrollView 被手势拦截就能快速排查了&#xff1a;&#x1f4cc; iOS 手势与控件事件冲突常见解决办法1️⃣ cancelsTouchesInView&#x1f449; 最常用&#xff0c;决定手势识别…

笔试——Day45

文章目录第一题题目思路代码第二题题目思路代码第三题题目思路代码第一题 题目 kanan和高音 思路 双指针遍历数组&#xff0c;更新左右端点并计算最大值 代码 #include<iostream> #include<vector> using namespace std;int main() {int n; cin >> n;vect…

nnDetection网络结构分析

基于 RetinaNet 框架扩展&#xff0c;核心用于处理 3D 体积数据&#xff08;如医学影像 CT/MRI&#xff09;&#xff0c;通过 “Encoder-Decoder-Head” 架构实现多任务学习。以下从整体框架、核心模块细节、技术特点、应用场景四个维度展开分析。一、整体框架概览首先通过表格…

Torch -- 卷积学习day4 -- 完整项目流程

完整项目流程总结1. 环境准备与依赖导入import time import os import numpy as np import pandas as pd import torch import torch.nn as nn import torch.optim as optim import torchvision import torchvision.transforms as transforms from torch.utils.data import Dat…

MTK Linux DRM分析(七)- KMS drm_plane.c

一、简介在 Linux DRM&#xff08;Direct Rendering Manager&#xff09;子系统中&#xff0c;Plane&#xff08;平面&#xff09;代表了一个图像源&#xff0c;可以在扫描输出过程中与 CRTC 混合或叠加显示。每个 Plane 从 drm_framebuffer 中获取输入数据&#xff0c;并负责图…

OpenHarmony之 蓝牙子系统全栈剖析:从协议栈到芯片适配的端到端实践(大合集)

1. 系统架构概述 OpenHarmony蓝牙系统采用分层架构设计&#xff0c;基于HDF&#xff08;Hardware Driver Foundation&#xff09;驱动框架和系统能力管理&#xff08;System Ability&#xff09;机制实现。 1.1 架构层次 ┌─────────────────────────…

探索 Ultralytics YOLOv8标记图片

1、下载YOLOv8模型文件 下载地址&#xff1a;https://docs.ultralytics.com/zh/models/yolov8/#performance-metrics 2、编写python脚本 aaa.py import cv2 import numpy as np from ultralytics import YOLO import matplotlib.pyplot as pltdef plot_detection(image, box…

Matplotlib数据可视化实战:Matplotlib子图布局与管理入门

Matplotlib多子图布局实战 学习目标 通过本课程的学习&#xff0c;学员将掌握如何在Matplotlib中创建和管理多个子图&#xff0c;了解子图布局的基本原理和调整方法&#xff0c;能够有效地展示多个数据集&#xff0c;提升数据可视化的效果。 相关知识点 Matplotlib子图 学习内容…

【python实用小脚本-194】Python一键给PDF加水印:输入文字秒出防伪文件——再也不用开Photoshop

Python一键给PDF加水印&#xff1a;输入文字秒出防伪文件——再也不用开Photoshop PDF加水印, 本地脚本, 零会员费, 防伪标记, 瑞士军刀 故事开场&#xff1a;一把瑞士军刀救了投标的你 周五下午&#xff0c;你把 100 页标书 PDF 发给客户&#xff0c;却担心被同行盗用。 想加水…

开源 C++ QT Widget 开发(四)文件--二进制文件查看编辑

文章的目的为了记录使用C 进行QT Widget 开发学习的经历。临时学习&#xff0c;完成app的开发。开发流程和要点有些记忆模糊&#xff0c;赶紧记录&#xff0c;防止忘记。 相关链接&#xff1a; 开源 C QT Widget 开发&#xff08;一&#xff09;工程文件结构-CSDN博客 开源 C…

【密码学实战】X86、ARM、RISC-V 全量指令集与密码加速技术全景解析

前言 CPU 指令集是硬件与软件交互的核心桥梁&#xff0c;其设计直接决定计算系统的性能边界与应用场景。在数字化时代&#xff0c;信息安全依赖密码算法的高效实现&#xff0c;而指令集扩展则成为密码加速的 “隐形引擎”—— 从服务器端的高吞吐量加密&#xff0c;到移动端的…

2025-08-21 Python进阶2——数据结构

文章目录1 列表&#xff08;List&#xff09;1.1 列表常用方法1.2 列表的特殊用途1.2.1 实现堆栈&#xff08;后进先出&#xff09;1.2.2 实现队列&#xff08;先进先出&#xff09;1.3 列表推导式1.4 嵌套列表推导式2 del 语句3 元组&#xff08;Tuple&#xff09;4 集合&…

告别手工编写测试脚本!Claude+Playwright MCP快速生成自动化测试脚本

在进行自动化测试时&#xff0c;前端页面因为频繁迭代UI 结构常有变动&#xff0c;这往往使得自动化测试的脚本往往“写得快、废得也快”&#xff0c;维护成本极高。在大模型之前大家往往都会使用录制类工具&#xff0c;但录制类工具生成的代码灵活性较差、定位方式不太合理只能…

一款更适合 SpringBoot 的API文档新选择(Spring Boot 应用 API 文档)

SpringDoc&#xff1a;Spring Boot 应用 API 文档生成的现代化解决方案 概述 SpringDoc 是一个专为 Spring Boot 应用设计的开源库&#xff0c;能够自动生成符合 OpenAPI 3 规范的 API 文档。它通过扫描项目中的控制器、方法注解及相关配置&#xff0c;动态生成 JSON/YAML/HTML…

文献阅读 250821-When and where soil dryness matters to ecosystem photosynthesis

When and where soil dryness matters to ecosystem photosynthesis 来自 <When and where soil dryness matters to ecosystem photosynthesis | Nature Plants> ## Abstract: Background: Projected increases in the intensity and frequency of droughts in the twen…