L1-017 到底有多二(15分) c++代码

这篇文章介绍了一种算法,通过计算输入整数中2的出现次数与位数的比例,考虑负数和偶数的额外加权,来确定其犯二程度,并给出了C++代码实现。

 

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

输入格式:

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

输出格式:

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

输入样例:

-13142223336

输出样例:

81.82%

 代码:

#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;

int main() {
	char n[51];
	double fu=1,ou=1,t=0,ws=0;
	cin>>n;
	if(n[0]=='-'){
		fu=1.5;
		ws=-1;
	}
	if((n[int(strlen(n))-1]-'0')%2==0) ou=2.0;
	for(int i=0;i<(int)strlen(n);i++){
		if(n[i]=='2')t++;
		ws++;
	}
	double r=t/ws*1.0;
	printf("%.2f%%",r*fu*ou*100.0);
    return 0;
}

<think>好的,用户问的是L1-017 Java错误,但根据提供的引用内容,实际相关的错误是关于api-ms-win-crt-runtime-l1-1-0.dll丢失的问题。首先需要确定用户可能混淆了错误代码,比如L1-017可能是指某个特定的错误编号,但根据引用中的信息,正确的错误涉及的是缺失的DLL文件。 接下来,需要整理引用中的解决方案。引用1提到多种解决方法,引用2建议手动下载DLL或安装运行库,引用3提供了VC Redist的下载链接,引用4详细描述了安装特定系统更新的步骤,比如KB2999226和KB2919355,尤其是在Windows系统上。 用户的问题可能在Java环境中出现这个DLL错误,比如运行Java程序时系统找不到该DLL。这可能是因为Java依赖的Visual C++运行库未正确安装,或者系统更新缺失。需要将这些信息整合,步骤解释错误原因,并提供对应的解决方法,如安装VC++ 2015 Redistributable、安装系统更新、修复系统文件等。 同时,用户提到的L1-017可能与某个具体应用或题目中的错误编号相关,但根据现有资料,应优先处理DLL缺失问题。需要确保回答结构清晰,点列出原因和解决方案,并引用提供的参考资料来支持每个步骤的有效性。</think>### L1-017 Java错误解释及解决方案 "L1-017"本身并非Java标准错误代码,但根据描述中提到的**“丢失api-ms-win-crt-runtime-l1-1-0.dll”**,可以判断该错误与Windows系统环境或Java运行依赖的Visual C++组件缺失有关。以下是具体析及解决方法: --- #### **错误原因** 1. **Visual C++运行库缺失** Java程序(尤其是JRE/JDK)依赖Visual C++ Redistributable组件(如2015版)提供的运行时库。若未安装或安装损坏,会导致`api-ms-win-crt-runtime-l1-1-0.dll`缺失错误[^1][^2][^3]。 2. **Windows系统更新未完成** 某些系统更新(如KB2999226、KB2919355)是Visual C++ 2015运行库的依赖项。若未安装这些更新,即使安装运行库也可能失败[^4]。 3. **系统文件损坏** DLL文件可能因病毒、误删或系统错误导致损坏或丢失。 --- #### **解决方案** ##### **方法1:安装Visual C++ 2015 Redistributable** 1. 访问微软官方下载页: [Visual C++ 2015 Redistributable下载链接](https://www.microsoft.com/zh-cn/download/details.aspx?id=48145)[^3]。 2. 根据系统位数(32位或64位)选择对应版本安装。 3. 重启计算机后测试Java运行是否正常。 ##### **方法2:安装Windows系统更新** 1. 打开“控制面板” → “Windows更新”。 2. 检查并安装以下更新(需按顺序): - **KB2919355**(系统基础更新) - **KB2999226**(支持Universal C Runtime)。 3. 若自动更新失败,可手动下载安装包(需匹配系统版本)。 ##### **方法3:修复系统文件** 1. 以管理员身份运行命令提示符。 2. 输入以下命令并按回车: ```bash sfc /scannow ``` 此命令可自动修复损坏的系统文件。 ##### **方法4:重新安装JRE/JDK** 1. 卸载当前Java环境。 2. 从官网下载最新版JDK/JRE并安装。 3. 确保安装过程中未触发安全软件拦截。 --- #### **总结** 该错误本质是系统环境不完整导致的依赖缺失。优先通过**安装Visual C++ 2015运行库**和**补全系统更新**解决[^3],若仍无效,可尝试系统修复或重装Java环境。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值