当前位置: 首页 > news >正文

cpp_studing_day1

2025_12_15

洛谷——P1544 , 数组题目 , 知识点 : 数位统计公式 ,

点击查看代码
//base = 1 , 10 , 100 , 1000 ...
//base = 1 → 个位 ; base = 10 → 十位 ; base = 100 → 百位 ;....
//high = n / (base * 10) ;
//cur = (n / base)% 10 ;
//low = n % base ;
//
//if(cur > d)
//res += (high + 1) * base ;
//else if(cur == d)
//res += high * base + low + 1 ;
//else if(cur < d)
//res += high * base ;#include <iostream>
using namespace std;long long count(long long n, int d) {if (n < 0) return 0;long long res = 0;for (long long base = 1; base <= n; base *= 10) {long long high = n / (base * 10);long long cur  = (n / base) % 10;long long low  = n % base;if (d != 0) {if (cur > d) res += (high + 1) * base;else if (cur == d) res += high * base + low + 1;else res += high * base;} else {if (high == 0) continue;if (cur > 0) res += (high - 1) * base + base;else res += (high - 1) * base + low + 1;}}return res;
}int main() {long long M, N;cin >> M >> N;for (int d = 0; d <= 9; d++)cout << count(N, d) - count(M - 1, d) << " ";
}

sort() 函数
STL中的sort()函数并非只是普通的快速排序,除了对普通的快速排序进行了优化,它还结合了插入排序和堆排序。根据不同的数量级别以及不同情况,能自动选择合适的排序方法。
在cpp中使用sort()函数需要引用#include 头文件,
sort()函数可以对指定区间的所有元素进行排序。它有三个参数sort(begin,end,cmp),其中begin为指向sort()的数组的第一个元素的指针,end为指向sort()的数组的最后一个元素的下一个位置的指针,cmp参数为排序准则(可以不写,不写默认为从小到大排序),想要从大到小,可以写成greater(),或者float,double。
如 : int num[10] = {6,5,8,7,9,2,1,3,4,0} ;
sort(num , num+10 ,greater());//输出结果为9,8,7,6,5,4,3,2,1,0;
自定义排序准则
sort()函数可以自定义排序准则,以便满足不同的排序顺序。
如我们按照每个数的个位进行由大到小进行排序,
如 :

include

include

using namespace std;

bool cmp(int x,int y){
return x % 10 > y % 10;
}

int main(){
int num[10] = {65,59,96,13,21,80,72,33,44,99};
sort(num,num+10,cmp);
for(int i=0;i<10;i++){
cout<<num[i]<<" ";
}//输出结果:59 99 96 65 44 13 33 72 21 80

return 0;

}

http://www.jsqmd.com/news/94805/

相关文章:

  • 国产期刊被EI收录!首个影响因子12分,录用率67%,国人友好~
  • 质子交换膜燃料电池(PEMFC Simulink模型) (1)仿真内容:包括燃料电池静态模型、...
  • Java毕设选题推荐:基于springboot高校师资管理系统教师管理、学院管理、专业信息管理、职称调整管理、课程安排管理、进修学习管理、进修汇【附源码、mysql、文档、调试+代码讲解+全bao等】
  • openFuyao 容器平台快速入门:Nginx 应用部署全流程实操
  • Java毕设选题推荐:基于SpringBoot+Vue智能公寓管理系统基于springboot公寓管理系统【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 二维傅里叶变换算法及其完整流程:提取频谱波峰、反变换、相位角分布与解包应用于干涉图处理
  • 【课程设计/毕业设计】基于springboot果蔬种植销售一体化服务平台的设计与实现果蔬信息、果蔬入库【附源码、数据库、万字文档】
  • 【开题答辩全过程】以 基于java技术的校园一卡通系统的设计与实现为例,包含答辩的问题和答案
  • 动态删除表外键依赖
  • PSD-95抗体:如何为缺血性脑卒中治疗开启神经保护新纪元?
  • C# AOT编译后——调用其类库方法因顺序出错?
  • 【课程设计/毕业设计】基于Java的高校澡堂洗浴管理系统基于springboot高校洗浴管理系统【附源码、数据库、万字文档】
  • 学习成长道路上被忽视的“隐形杀手”,正在悄悄夺走孩子的健康
  • 9、Python 命名规范与代码优化实践
  • 从零开始将高德地图(卫星图+路网)接入 RViz 与 Mapviz 的保姆级教程 (C++,python,ros,自动驾驶)
  • Liquibase动态删除表外键依赖
  • PSEN1抗体:如何揭示阿尔茨海默病致病机制与治疗新靶点?
  • 六自由度机械臂步进电机驱动仿真的MATLAB逆解及Simscape仿真
  • Flutter---Notification(3)--就寝提醒
  • C#+VisionMaster联合开发控件篇(三)_流程配置控件
  • 小鼠ELISA Kit:如何精准定量胰岛素并推动代谢研究?
  • 10kV线路微机继电保护装置源码+配套PCB图纸及BOM表,缩短开发周期学习素材
  • Matlab在多类结构动力学模拟中的精彩应用
  • 2026 人工智能YOLOV相关毕业论文选题方向及题目示例(深度学习/yolov/自然语言处理/图像处理/机器学习)​
  • Qoder 实战:AI 驱动的研发效率与质量提升
  • Android 的开放神话正在终结:从底层代码到硬件锁死的围猎!
  • 【开题答辩全过程】以 基于Java高考志愿填报推荐系统为例,包含答辩的问题和答案
  • 全面解读C# 11的Required成员编译期验证逻辑:保障数据完整性与可靠性
  • 靶向PSMA的纳米抗体:如何革新前列腺癌诊疗策略?
  • 【Linux网络编程】TCP Socket