博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
L1-017 到底有多二 (15 分)
阅读量:2059 次
发布时间:2019-04-29

本文共 740 字,大约阅读时间需要 2 分钟。

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

输入格式:

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

输出格式:

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

输入样例:

-13142223336
输出样例:
81.82%

#include 
#include
int main(){
char c[52]; //long long类型并没有50位那么大,这里采用字符串输入 int count = 0; //2的计数器 float result; //最终结果 scanf("%s", c); for (int i = 0; i < strlen(c); i++) {
if (c[i] == '2') count++; } if (c[0] == '-') //判断输入的是否为负数 result = count * 1.5 / (strlen(c) - 1.0); else result = count * 1.0 / strlen(c); if (((int)c[strlen(c) - 1] - 48) % 2 == 0) //判断输入的数是否为偶数(注:'0'的ASCII码值为48) result *= 2; printf("%.2f%%", result * 100); return 0;}

转载地址:http://rnolf.baihongyu.com/

你可能感兴趣的文章
shell 脚本免密远程访问
查看>>
Linux平台Oracle多个实例启动说明
查看>>
在LINUX平台上手动创建数据库(oracle 10g)(在一个oracle服务器上启动两个实例)
查看>>
Oracle 10g 下载地址
查看>>
Linux 下 新增Oracle10g 实例
查看>>
LRM-00123 ORA-01078
查看>>
ORA-01102: cannot mount database in EXCLUSIVE mode
查看>>
专栏结语
查看>>
BERT 实战
查看>>
BERT 基础
查看>>
什么是 Transformer
查看>>
简述 XLNet 的原理和应用
查看>>
实战:为图片生成文本摘要
查看>>
论文复现:用 CNN 进行文本分类
查看>>
多复杂的 CNN 都离不开的这几个基本结构
查看>>
实践:动手搭建神经机器翻译模型
查看>>
透彻理解神经机器翻译的原理
查看>>
实践:动手搭建聊天机器人
查看>>
情感分析 Kaggle 实战
查看>>
动手实现 Bahdanau 注意力模型
查看>>