首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
深度
自然语言处理
ocr
深度学习
机器人
数据挖掘
tensorflow
人工智能
神经网络
自动驾驶
svm
机器学习
人脸识别
nlp
算法
图像识别
pytorch
当前位置:
开发笔记
>
人工智能
> 正文
关于C程序算法的简化
作者:小丑阿沁_134 | 来源:互联网 | 2017-11-01 10:39
关于C程序算法的简化--Linux通用技术-Linux技术与应用信息,下面是详情阅读。
近一些天看了一些算法,发现用C写的基于类的几个算法比较不错:
高复杂度的程序千千万万,但低复杂度程序是有限的,且常常是唯一的。变高复杂度算法为低复杂度算法有几个途径:
1.变嵌套多重的条件句为一重循环句:
例:所得税问题
(y为所得税,x为月收入)。
[table=390][tr][td]
[/td][td] 0 ;x<=2000;[/td][/tr][tr][td] [/td][td] (x-2000)*3% ;2000
100000;[/td][/tr][/table]
常规思路:
用一个嵌套多重的条件语句:
#include
mian()
{
flaot x,y;
scanf("%f",&x);
if(x<=2000)
y=0;
else
if(x<=5000)
y=(x-2000)*0.03;
else
if(x<=10000)
y=(x-5000)*0.05+90;
else
if(x<=100000)
y=(x-10000)*01+340;
else
y=(x-100000)*0.3+9340;
printf("%f",y);
}
这种程序比较好想,但不通用(所谓通用,就是指情况发生变化后只改变数据不改程序的程序)。
下面是一种比较通用的算法,大家可以比较一下:
#include "stdio.h"
#define N 4
void main()
{
float a[N+1]={0,2000,5000,10000,100000},
b[N+1]={0.0,0.01,0.05,0.1,0.3},
c[N]={0,90,340,9340};
float x,y;
int i;
printf("Please input your Wages:");
scanf("%f",&x);
/* 该段为我加上的,防输入格式出错
while(1)
{
if(x>=0)
break;
else
{
printf("ERROR!\nPlease input your Wages again:");
scanf("%f",&x);
}
}
*/
i=N;
while(x<=a
)
i=i-1;
printf("%f %d",y,i);
y=(x-a
)*b
+c[i-1];
/*我更喜欢用for循环
for(i=N;x
;i--);
y=(x-a
)*b
+c[i-1];
*/
printf("应交税为:%f",y);
}
这样即使需要改动数据,也无需改动程序,而且程序的复杂度大大降低了。
算法
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
算法
深入解析Android自定义View面试题
本文探讨了Android Launcher开发中自定义View的重要性,并通过一道经典的面试题,帮助开发者更好地理解自定义View的实现细节。文章不仅涵盖了基础知识,还提供了实际操作建议。 ...
[详细]
蜡笔小新 2024-12-28 11:15:04
算法
优化ListView性能
本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ...
[详细]
蜡笔小新 2024-12-28 10:36:30
算法
使用动态规划算法求解0-1背包问题
本文介绍如何利用动态规划算法解决经典的0-1背包问题。通过具体实例和代码实现,详细解释了在给定容量的背包中选择若干物品以最大化总价值的过程。 ...
[详细]
蜡笔小新 2024-12-27 19:17:15
算法
深入理解设计模式与七大原则
本文详细探讨了Java中的24种设计模式及其应用,并介绍了七大面向对象设计原则。通过创建型、结构型和行为型模式的分类,帮助开发者更好地理解和应用这些模式,提升代码质量和可维护性。 ...
[详细]
蜡笔小新 2024-12-27 19:10:10
算法
Java并发编程:LinkedBlockingQueue的实际应用
本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ...
[详细]
蜡笔小新 2024-12-27 18:51:49
算法
USACO 2014 Jan - Moolympics区间记录优化算法
题目描述:给定n个半开区间[a, b),要求使用两个互不重叠的记录器,求最多可以记录多少个区间。解决方案采用贪心算法,通过排序和遍历实现最优解。 ...
[详细]
蜡笔小新 2024-12-27 18:14:31
算法
深入理解C++中的KMP算法:高效字符串匹配的利器
本文详细介绍C++中实现KMP算法的方法,探讨其在字符串匹配问题上的优势。通过对比暴力匹配(BF)算法,展示KMP算法如何利用前缀表优化匹配过程,显著提升效率。 ...
[详细]
蜡笔小新 2024-12-27 14:45:30
算法
LeetCode 991:故障计算器的最优解法
探讨一个显示数字的故障计算器,它支持两种操作:将当前数字乘以2或减去1。本文将详细介绍如何用最少的操作次数将初始值X转换为目标值Y。 ...
[详细]
蜡笔小新 2024-12-27 14:34:44
算法
Java面试题解析
本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ...
[详细]
蜡笔小新 2024-12-27 13:55:14
算法
设计一个安全的加密与验证算法
本文探讨如何设计一个安全的加密和验证算法,确保生成的密码具有高随机性和低重复率,并提供相应的验证机制。 ...
[详细]
蜡笔小新 2024-12-27 13:49:45
算法
深入解析:手把手教你构建决策树算法
本文详细介绍了机器学习中广泛应用的决策树算法,通过天气数据集的实例演示了ID3和CART算法的手动推导过程。文章长度约2000字,建议阅读时间5分钟。 ...
[详细]
蜡笔小新 2024-12-27 13:44:59
算法
C语言实现小写金额转换为大写金额
在金融和会计领域,准确无误地填写票据和结算凭证至关重要。这些文件不仅是支付结算和现金收付的重要依据,还直接关系到交易的安全性和准确性。本文介绍了一种使用C语言实现小写金额转换为大写金额的方法,确保数据的标准化和规范化。 ...
[详细]
蜡笔小新 2024-12-27 12:39:06
算法
每日一题:寻找与众不同的数字
在给定的数组中,除了一个数字外,其他所有数字都是相同的。任务是找到这个唯一的不同数字。例如,findUniq([1, 1, 1, 2, 1, 1]) 返回 2,findUniq([0, 0, 0.55, 0, 0]) 返回 0.55。 ...
[详细]
蜡笔小新 2024-12-27 12:19:16
算法
理解感受野与锚框在目标检测中的应用
本文探讨了卷积神经网络(CNN)中感受野的概念及其与锚框(anchor box)的关系。感受野定义了特征图上每个像素点对应的输入图像区域大小,而锚框则是在每个像素中心生成的多个不同尺寸和宽高比的边界框。两者在目标检测任务中起到关键作用。 ...
[详细]
蜡笔小新 2024-12-27 12:03:44
算法
网络攻防实战:从HTTP到HTTPS的演变
本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ...
[详细]
蜡笔小新 2024-12-27 11:34:50
小丑阿沁_134
这个家伙很懒,什么也没留下!
Tags | 热门标签
深度
自然语言处理
ocr
深度学习
机器人
数据挖掘
tensorflow
人工智能
神经网络
自动驾驶
svm
机器学习
人脸识别
nlp
算法
图像识别
pytorch
RankList | 热门文章
1
Jmeter(八)请求之cookie、token的处理
2
MapReduce编程(一) Intellij Idea配置MapReduce编程环境
3
十年文娱:大风起兮
4
Oceanbase试用版部署安装(Linux 平台上部署)
5
《留别金山宝觉圆通二长老》翻译 原文赏析诗人宋苏轼
6
su倒角工具,su倒角插件叫什么
7
Query的extend扩展方法使用点滴
8
SQL Server高性能写入的经验总结及数据库技术分享
9
在Myeclipse部署Tomcat时只有WEB-INF文件夹,无页面的及其他文件
10
c/c++开发分享详解C++构造函数
11
面试技巧3
12
Java 中的构造函数 getAnnotation()方法,示例
13
css grid 自动高度_前端面试题:关于CSS布局
14
《题大理崔少卿驸马林亭》翻译 原文赏析诗人唐姚合
15
JAVA多线程之ThreadPoolExecutor
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有