L1-017 到底有多二 C++解法

题目

一个整数“犯二的程度”定义为该数字中包含2的个数与其位数的比值。如果这个数是负数,则程度增加0.5倍;如果还是个偶数,则再增加1倍。例如数字-13142223336是个11位数,其中有3个2,并且是负数,也是偶数,则它的犯二程度计算为:3/11×1.5×2×100%,约为81.82%。本题就请你计算一个给定整数到底有多二。

输入格式:

输入第一行给出一个不超过50位的整数N

输出格式:

在一行中输出N犯二的程度,保留小数点后两位。

输入样例:

-13142223336

输出样例:

81.82%

 思路

  1. 录入数字为字符串;
  2. 遍历字符串,求2的个数;
  3. 分负数和正数情况讨论;负数要 * 1.5,正数要 * 1;
    注意:是否乘偶数系数与正负无关(可能是题目没表述清楚)。

 知识点

精确到小数点后2位,用如下代码:

cout<<fixed<<setprecision(2)<<result<<'%';

 涉及到的知识点可以参考c++保留n位小数输出(百分数形式,保留n位有效数字,设置宽度)_小白yaa的博客-CSDN博客

代码

#include <iostream>
#include <string>
#include <iomanip>
using namespace std;//是否乘偶数系数与正负无关(可能是题目没表述清楚)int oushu(string n) {int m = n[n.length() - 1] - '0';//注意此处要-1才是最后一位!m 为个位if (m % 2 == 0)//一个数的最后一位(即个位)能被2整除,那么这个数就是偶数。{return 2;} else{return 1;}
}int main() {string n;//输入的数字用字符串存储cin >> n;int k = 0;//数字中包含2的个数double result = 1.0;int len = n.length();//字符串的长度//统计数字中2的个数for (int i = 0; i < len; i++){if (n[i] == '2'){k++;}}//首先分为两个大的情况:负数和非负数  然后分别讨论各个情况下是否为偶数的情况 用oushu()函数进行了封装,提高代码的复用性if (n[0]=='-'){result = (double)k / (len - 1)*1.5*oushu(n);} else{result = (double)k / len * oushu(n);}cout << setiosflags(ios::fixed) << setprecision(2) << result*100 << '%' << endl;return 0;
}

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

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

相关文章

Bash常见快捷键

生活在 Bash Shell 中&#xff0c;熟记以下快捷键&#xff0c;将极大的提高你的命令行操作效率。 编辑命令 Ctrl a &#xff1a;移到命令行首Ctrl e &#xff1a;移到命令行尾Ctrl f &#xff1a;按字符前移&#xff08;右向&#xff09;Ctrl b &#xff1a;按字符后移&a…

巨额亏损,股价遭受重创,Polestar极星汽车已陷入困境

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 8月31日&#xff0c;由吉利汽车&#xff08;00175&#xff09;和沃尔沃汽车合资创建的瑞典电动汽车公司Polestar极星汽车&#xff08;PSNY&#xff09;公布了2023年第二季度财报。 这家电动汽车公司在去年通过SPAC上市后&am…

Flink+Flink CDC版本升级的依赖问题总结

之前使用Flink1.13Flink CDC2.0同步MySQL数据&#xff0c;想测试一下最新的几个版本。但是各种依赖冲突的报错&#xff0c;经过一段时间的调试&#xff0c;终于解决&#xff0c;现在总结一下。 1、flink1.15前后jar包名称不一样 flink-streaming-java、flink-clients、flink-…

电子产品CE认证申请,CE-RED认证

CE认证&#xff0c;即只限于产品不危及人类、动物和货品的安全方面的基本安全要求&#xff0c;而不是一般质量要求&#xff0c;协调指令只规定主要要求&#xff0c;一般指令要求是标准的任务。 构成欧洲指令核心的"主要要求"&#xff0c;在欧共体1985年5月7日的&…

k8s集群中ETCD备份和恢复

文章目录 [toc]一、etcd 概述二、安装etcdctl工具三、kubeadm部署方式部署1&#xff09;备份2&#xff09;恢复四、定时备份 五、二进制部署备份1&#xff09;备份2&#xff09;恢复1、停止apiserver和etcd2、etcd_1恢复3、etcd_2恢复4、etcd_3恢复5、启动etcd和apiserver6、检…

java在linux环境中如何搭建xxl-job管理后台的详细步骤?

在 Linux 环境中搭建 xxl-job 的管理后台&#xff0c;你可以按照以下详细步骤进行&#xff1a; 下载并解压源码包&#xff1a;在 Linux 终端使用 wget 或 curl 命令下载 xxl-job 的源码包&#xff0c;并使用 tar 命令解压缩源码包到指定目录。 wget https://github.com/xuxueli…

使用正则表达式总结

多行匹配 使用Pattern.DOTALL | Pattern.MULTILINE参数 Pattern.CASE_INSENSITIVE&#xff1a;不区分大小写 public static void main(String[] args) {String teststr "AA aa AASSF \n\r */ DDET AA";String regStr "(?AA)\\w\\b";extracted(testst…

【linux命令讲解大全】075. 网络数据包分析工具ngrep及其应用

文章目录 ngrep补充说明安装语法选项实例 从零学 python ngrep 方便的数据包匹配和显示工具 补充说明 ngrep 命令是 grep 命令的网络版&#xff0c;它提供了更多的 grep 特性&#xff0c;用于搜索指定的数据包。由于安装 ngrep 需要使用 libpcap 库&#xff0c;因此它支持许…

map-reduce执行过程

Map阶段 Map 阶段是 MapReduce 框架中的一个重要阶段&#xff0c;它负责将输入数据转换为中间数据。Map 阶段由一个或多个 Map 任务组成&#xff0c;每个 Map 任务负责处理输入数据的一个子集。 执行步骤 Map 阶段的过程可以分为以下几个大步骤&#xff1a; 输入数据分配&a…

民安智库(北京第三方窗口测评)参展商满意度问卷如何设计

设计一个有效的参展商满意度问卷需要仔细考虑问题的选择、排列和表达方式&#xff0c;以确保获取有用的反馈信息。以下是设计参展商满意度问卷的一些建议&#xff1a; 明确调查的目标&#xff1a; 在开始设计问卷之前&#xff0c;确定满意度调查的具体目标和研究问题。明确您…

基于Java+SpringBoot+Vue前后端分离交通管理在线服务系统设计和实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

python音频转文字调用baidu

python音频转文字调用的是百度智能云的接口&#xff0c;因业务需求会涉及比较多数字&#xff0c;所以这里做了数字的处理&#xff0c;可根据自己的需求修改。 from flask import Flask, request, jsonify import requestsfrom flask_limiter import Limiterapp Flask(__name_…

java面试题-MySQL相关面试题

MySQL相关面试题 面试官&#xff1a;MySQL中&#xff0c;如何定位慢查询? 候选人&#xff1a; 嗯~&#xff0c;我们当时做压测的时候有的接口非常的慢&#xff0c;接口的响应时间超过了2秒以上&#xff0c;因为我们当时的系统部署了运维的监控系统Skywalking &#xff0c;在展…

基于SSM的汽车客运站管理系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

系统设计类题目汇总四

25 十个异步入库任务&#xff0c;如何保证他们原子入库? 了解了你的问题背景&#xff0c;确保10个异步入库任务原子性执行&#xff08;即要么全部成功&#xff0c;要么全部失败&#xff09;有以下几种方法&#xff1a; 数据库事务&#xff1a; 如果所有的入库操作都是在同一个…

电工什么是电动势

什么是电动势&#xff1f;及电源电动势计算公式与方向确定 前面我们讲到在基本电路中的电流和电压的基础知识&#xff0c;而本文要讲的电动势和电压是一个很类似的概念。那么什么是电动势&#xff1f;电源电动势的计算公式是什么&#xff1f;它的方向如何确定及与电压有什么区…

FPGA时序分析与约束(5)——时序路径

一、前言 在之前的文章中我们分别介绍了组合电路的时序&#xff0c;时序电路的时序和时钟的时序问题&#xff0c;我们也对于时序分析&#xff0c;时序约束和时序收敛几个基本概念进行了区分&#xff0c;在这篇文章中&#xff0c;我们将介绍时序约束相关的最后一部分基本概念&am…

用半天时间从零开始复习前端之html

目录 前言 科班生的标配&#xff1a;半天听完一门标记型语言 准备工作 webstorm2022 webstrom 第一个html页面 body h系列标签 行标签和块标签 列表标签 表格标签&#xff08;另起一篇&#xff09; 万能的input 1.快速生成多个标签 2.同时选中多个 前言 科班生的标…

SpringMVC_异常统一处理

3.全局统一异常处理 3.1目前存在问题 模拟后台出现服务器异常 GetMappingpublic ResultResp list(RequestParam(required false) String name){System.out.println(1/0);List<Item> ret service.lists(name);return ResultResp.success(retnull?Code.PAGE_FAIL:Code.…

linux 编译 llvm + clang

1. 需要下载以下三个压缩包&#xff0c;下载源码&#xff1a;Release LLVM 15.0.7 llvm/llvm-project GitHub clang-15.0.7.src.tar.xzcmake-15.0.7.src.tar.xzllvm-15.0.7.src.tar.xz​​​​​ 2. 解压后将 clang 源码放入 llvm/tools/ 下 3. 将解压后的 cmake-15.0.7…