首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
深度学习
深度
svm
机器人
nlp
神经网络
算法
人脸识别
人工智能
图像识别
pytorch
机器学习
ocr
自动驾驶
tensorflow
自然语言处理
数据挖掘
当前位置:
开发笔记
>
人工智能
> 正文
关于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);
}
这样即使需要改动数据,也无需改动程序,而且程序的复杂度大大降低了。
算法
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
算法
Paxos的世界:复制日志与状态机
本文介绍了Paxos的世界中关于复制日志与状态机的概念和重要性。通过存储日志来实现数据的持久化,并通过日志流来记录数据的变化,而不是直接持久化数据本身。这样做的好处是简化了持久化存储的操作,并且方便多机之间的数据同步。 ...
[详细]
蜡笔小新 2023-12-14 22:02:44
算法
提升Python编程效率的十点建议
本文介绍了提升Python编程效率的十点建议,包括不使用分号、选择合适的代码编辑器、遵循Python代码规范等。这些建议可以帮助开发者节省时间,提高编程效率。同时,还提供了相关参考链接供读者深入学习。 ...
[详细]
蜡笔小新 2023-12-14 21:51:04
自然语言处理
【机器学习】生成式对抗网络模型综述
生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ...
[详细]
蜡笔小新 2023-12-14 17:51:18
算法
Android开发笔记:使用Picasso加载网络图片等比例缩放
在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ...
[详细]
蜡笔小新 2023-12-14 17:34:00
算法
云原生边缘计算之KubeEdge简介及功能特点
本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ...
[详细]
蜡笔小新 2023-12-14 16:49:01
机器学习
大数据就业前景及人才需求
近年来,大数据成为互联网世界的新宠儿,被列入阿里巴巴、谷歌等公司的战略规划中,也在政府报告中频繁提及。据《大数据人才报告》显示,目前全国大数据人才仅46万,未来3-5年将出现高达150万的人才缺口。根据领英报告,数据剖析人才供应指数最低,且跳槽速度最快。中国商业结合会数据剖析专业委员会统计显示,未来中国基础性数据剖析人才缺口将高达1400万。目前BAT企业中,60%以上的招聘职位都是针对大数据人才的。 ...
[详细]
蜡笔小新 2023-12-14 16:25:20
算法
Android中高级面试必知必会,积累总结
本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ...
[详细]
蜡笔小新 2023-12-14 14:53:02
算法
CSS3选择器的使用方法详解,提高Web开发效率和精准度
本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ...
[详细]
蜡笔小新 2023-12-14 14:37:52
算法
Java工具类库Hutool介绍及功能概述
本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ...
[详细]
蜡笔小新 2023-12-14 14:29:36
算法
C#生成随机数的三种方法及其问题分析
本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ...
[详细]
蜡笔小新 2023-12-14 14:15:30
算法
qt学习(六)数据库注册用户的实现方法
本文介绍了在qt学习中实现数据库注册用户的方法,包括登录按钮按下后出现注册页面、账号可用性判断、密码格式判断、邮箱格式判断等步骤。具体实现过程包括UI设计、数据库的创建和各个模块调用数据内容。 ...
[详细]
蜡笔小新 2023-12-14 13:29:32
自动驾驶
2020年AI产业报告:100个岗位抢1个人,计算机视觉成最大缺口
“你永远都不知道明天和‘公司的意外’哪个先来。”疫情期间,这是我们最战战兢兢的心情。但是显然,有些人体会不了。这份行业数据,让笔者“柠檬” ...
[详细]
蜡笔小新 2023-12-14 12:23:22
算法
生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ...
[详细]
蜡笔小新 2023-12-14 11:39:45
机器学习
[译]技术公司十年经验的职场生涯回顾
本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ...
[详细]
蜡笔小新 2023-12-14 11:31:05
算法
无线认证设置故障排除方法及注意事项
本文介绍了解决无线认证设置故障的方法和注意事项,包括检查无线路由器工作状态、关闭手机休眠状态下的网络设置、重启路由器、更改认证类型、恢复出厂设置和手机网络设置等。通过这些方法,可以解决无线认证设置可能出现的问题,确保无线网络正常连接和上网。同时,还提供了一些注意事项,以便用户在进行无线认证设置时能够正确操作。 ...
[详细]
蜡笔小新 2023-12-14 10:32:21
小丑阿沁_134
这个家伙很懒,什么也没留下!
Tags | 热门标签
深度学习
深度
svm
机器人
nlp
神经网络
算法
人脸识别
人工智能
图像识别
pytorch
机器学习
ocr
自动驾驶
tensorflow
自然语言处理
数据挖掘
RankList | 热门文章
1
Java 回调callback举例详解【java面试】
2
习题53 使用函数计算两点间的距离 (10 分)
3
阿里云搭建lamp平台
4
BuidlerDAO:解析 Lens Protocol 的数据孤岛与技术细节
5
使用LD_Preload的Linux权限升级技巧
6
python 模块中相对导入,绝对导入,from __future__ import absolute_import的区别?
7
黑马 python 5.0 完整版 无加密 百度云 网盘 下载 2021年学习Python最新视频教程
8
邀请函|12月8日云创大数据教育渠道大会等您来!
9
Timezones
10
系统错误码EINTR以及如何模拟出一个EINTR
11
我的邮箱客户端程序Popmail
12
HDFS上传文件
13
2GB内存如丝般顺滑!荣耀畅玩7A发布:799元起
14
c语言判断随机函数,怎样让c语言中的随机函数真正随机?
15
如何找回Win7/Win8电脑中缺失的硬盘空间?
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有