7-1 到底有多二 (详细 简易)

简介: 笔记

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


输入格式:


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


输出格式:


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


输入样例:


-13142223336


输出样例:


81.82%


思路:


正常遍历str,易得出2的个数;


之后要去判断所给数字长度,即也分辨是否为正负数(负数要-1);


最后根据题目,判断第一位是否为 ’ - ‘ 以及判断最后一位是否为偶数 ;


之后输出即可。

注意:str为string类型,不要忘记头文件;

且负号以及数字都要加单引号去进行判断;


最后要求保留两位小数


代码:

#include <iostream>
using namespace std ;
#include <string>
#include <string.h>
void test01()
{
    double sum = 0 ;
    double num = 0 ;
    string str ;
    cin >> str ;
    if(str[0] == '-')
    {
        sum = str.size() - 1;
    }
    else
    {
        sum = str.size() ; 
    }
    for(int i=0; i<str.size(); i++)
    {
        if(str[i] == '2')
        {
            num++ ;
        }
    }
    double m_sum = num/sum ;
    if(str[0] == '-')
    {
        m_sum = m_sum*1.5;
    }
    if(((str[str.size()-1])=='0') || ((str[str.size()-1])=='2') || ((str[str.size()-1])=='4') || ((str[str.size()-1])=='6') || ((str[str.size()-1])=='8')) 
    {
        m_sum = m_sum*2 ;
    }
    m_sum= m_sum*100 ;
    printf("%.2f%\n", m_sum) ;
}
int main()
{
    test01() ;
    system("pause") ;
    return 0 ;
}


相关文章
|
8月前
并发与并行的区别(详细介绍)
并发与并行的区别(详细介绍)
6921 0
|
4月前
|
安全 Linux 数据安全/隐私保护
Linux强制修改用户密码
【9月更文挑战第21天】在 Linux 系统中,可使用以下方法强制修改用户密码:1. 使用 `passwd` 命令,以 root 身份运行 `passwd username` 修改密码,加 `-f` 选项可跳过复杂度检查;2. 使用 `chpasswd` 命令,通过文本文件批量设置密码;3. 结合 `usermod -e 0 username` 和 `chpasswd` 强制用户下次登录时更改密码。注意操作时需确保安全性与合理性。
401 4
|
5月前
|
自然语言处理 数据可视化 搜索推荐
用Python制作酷炫词云图,原来这么简单!
用Python制作酷炫词云图,原来这么简单!
461 1
|
8月前
|
Java Maven
Maven配置以及IDEA设置(Cannot resolve plugin org.apache.maven.plugins:报错)
Maven配置以及IDEA设置(Cannot resolve plugin org.apache.maven.plugins:报错)
1039 1
|
8月前
|
开发工具 git Windows
【Git】‘git‘ 不是内部或外部命令,也不是可运行的程序
【Git】‘git‘ 不是内部或外部命令,也不是可运行的程序
|
7月前
计算机网络——物理层-传输方式(串行传输、并行传输,同步传输、异步传输,单工、半双工和全双工通信)
计算机网络——物理层-传输方式(串行传输、并行传输,同步传输、异步传输,单工、半双工和全双工通信)
239 0
|
8月前
|
数据中心 云计算 网络架构
|
8月前
|
存储 大数据 OLAP
一文快速搞懂Kudu到底是什么
一文快速搞懂Kudu到底是什么
1603 0
|
8月前
|
监控 算法 Java
sentinel 服务限流工作原理
sentinel 服务限流工作原理
|
8月前
|
C++
【PTA】​L1-069 胎压监测 ​ (C++)
【PTA】​L1-069 胎压监测 ​ (C++)
127 0
【PTA】​L1-069 胎压监测 ​ (C++)