【闲谈程序设计例三则:抛弃传统单步进初级阶段,用推导归纳出来的规律写代码,进入进阶阶段,人类自性的高级活动。】2024-10-21

news2024/11/25 4:33:29

闲谈程序设计三则:抛弃传统单步进,用推导归纳出来的规律写代码。

本论坛常见新学提问都是一些入门级别的问题,近来AI活跃抢答,然而,对于有些问题AI可以说是答非所问,令人哭笑不得,而AI能回答的通常也只是极普通的算法,这样的算法随便搜索多如牛毛,因此,AI目前决不可能超越人类的能力,下面以常见提问为例,证明AI尚处于幼儿期,要发展到成人期还有相当长的路要走,当然,也不能说AI一点用处都没有,在机器人替代人工作繁重体力劳动很有用武之地,当机器人大量替代人类做繁重体力劳动后,人类就可以从繁重体力劳动中获得解放,人类也能享受机器人提供的服务,毕竟机器人可以设计的很人性化很温和,没有人的好恶u情绪,这也是有好处的,人类解放后做什么呢,可以把大量时间和精力开发科技、艺术、文化,美术等等的脑力劳动,有是无穷的创意;而机器人和AI只是复制机而已,要从复制到有创意,机器人和AI还有走相当的路来从量变到质变的过程。

下面话转正题,以近期看到的提问为例:

1:【不用第三变量交换2个数】2024-10-18

	int a = 0, b = 0; cin >> a >> b;
	if (a > b)
	{//缘由https://ask.csdn.net/questions/8153190/54892711
		a = a - b;
		b = b + a;
		a = b - a;
	}
	else
	{
		a = b - a;
		b = b - a;
		a = b + a;
	}
	cout << a << " " << b << "\n";

本代码的优点就是不超过数据范围,因为使用了差进行计算,差也就只会在数据范围内;依据原数据进行判断后执行相应的运算实现2个数据的交换,从而不使用第三变量;如代码所示,如果变量a大于b,那么,首先用大减去小获得它们的差;这个差用来加小的就变为大的,再用这个大的减去差就变成小的;如果变量a小于b,那么也先用大的减去小的获得它们的差,这时用大的减去差就是小的,最后再用小的加上差就是大的,从而实现2个数的变换,纯粹数学推导,小学的知识,需要注意的是这个交换只能使用判断式,不能使用三目运算执行。

2:【幸运数各位和3倍数】2024-10-19

通常回答这样提问大都使用单步进循环实现,而我这里通过推导直接使用步进3来实现:试想3的倍数毕竟就是3步进肯定是3的倍数无疑,而如何能确定3倍数的各位和也是3的倍数?也是可以推导出来的,因为3的倍数无论其个位数是什么相加的和就会是3的倍数就是这么奇妙,怎么知道的呢?从小范围去推导计算出来的,如3无论如何就是3的倍数,6和9道理一样;那么,这个推导是否在多位数也一样规律呢,还是用计算的办法验证,如9+3=12,12的各位和是3,12+3=15,15各位和是6等等,可知奇妙就在这里,都符合规律,因此,推导得出如下结论:
首先求a是否为3的倍数,如果不是加差,后以3步进,一个循环可求和,亦可输出a值。可推导出来3的倍数各位和也是3的倍数。

void 幸运数各位和3倍数()
{//缘由https://ask.csdn.net/questions/8153520/54893645
	int a = 0, b = 0, h = 0;
	std::cin >> a >> b;
	if (a % 3)a += 3 - a % 3;
qh:if (a <= b){ h += a; std::cout << a << " "; a += 3; goto qh; }
	std::cout << h;
}

这样就不用单步进求,不用多余的运算和判断,直接输出步进结果就是了,提高效率,这是目前AI所不能独立思考得来的,AI只能是复制存储后才能回答的。

3:【任何一个自然数m的立方均可写成m个连续奇数之和】2024-10-17

找规律的作用就是使用快速运算提高效率,就是要归纳样例中的规律,找到快速表达式一次性计算出起始奇数,后面的奇数也就确定了用一个循环就解决了;
经过分析可以得到这样一个表达式:起始奇数=m*m-m+1。

void m立方写成m个连续奇数之和()
{
	int m = 0, q = 0, j = 0;
	cin >> m;
	q = m * m - m + 1;
sc:if (j < m)
{
	if (j)cout << " ";
	cout << q;
	++j;
	q += 2;
	goto sc;
}
}

同上例一样,在循环前处理,后用循环步进2来直接单运算输出,无需多余的判断和运算,由于奇数间距是2,从而提高效率,因为,有规律可循,这个规律是从样例推导出来的,推导的是起始的第一个奇数,之后是间距2的m个奇数,再计算这些奇数和验证的,验证过程同上述例子同道理。

因此,这2个案例都使用小学的知识,就能实现的,并不是什么高深的理论,只要细心分析、推导、验证就能总结出规律来的,学编程玩推导就是乐趣,这是人类的专利,不是机器的专利,或许将来机器也能实现自行创新推导,那也是人类给它赋能的,不是冰冷机器自己的,之所以人高于动物,其能来自自性,非外界赋予,这就是最大区别,因此,将来的人类主要培养文化、艺术、科技、逻辑、思维......;假如说有一天全体人类都好逸恶劳的话,那时,人类就沦落为动物了,也就要灭绝的开始,那时,人类就真的可悲了,还好,相信未来的人类还不至于沦落为动物,因为,自性存在的缘故,所以,人类的将来全由人类自己决定,不但要走出地球,寻找另外宜居星球,也会很好保护现在宜居地球,就好像人们不止有一个住所一样,而是有好多处住所,也就是拥有地球,也会拥有其他宜居星球,星球的自然演化,有生、住、坏、灭的阶段,有效地利用星球住的阶段,那么,人类将拥有更广阔的星际区域宜居场所,也能观看到星球演化,记录星球演化,演说星球演化,不再是井蛙的高级阶段,因此,人类要好好思考将来的去向,为了将来的去向,该如何精心培育人类,努力做好规划、规范,推动人类向高层次演进。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2220226.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MacOS安装BurpSuite

文章目录 一、下载地址二、下载注册机三、安装教程四、启动burpsuit五、免责声明 一、下载地址 https://portswigger-cdn.net/burp/releases/download?productpro&version2024.7.1&typeMacOsx二、下载注册机 https://github.com/NepoloHebo/BurpSuite-BurpLoaderKey…

B站协议登录到实现各种功能完整代码(专栏总结)

B站协议登录、点赞、收藏、转发实现及代码 关注、动态转发实现动态抽奖实现及代码 直播预约抽奖实现及代码 本文为本专栏的总结文章 一、扫码登录 请求获取二维码包&#xff0c;得到二维码链接和qrcode_key参数之后&#xff0c;利用qrcode_key循环GET请求登录状态包即可&#x…

【word】页眉横线无法取消

小伙伴们日常想在页眉里加横线&#xff0c;直接双击页眉&#xff0c;然后在页眉横线里选择自己喜欢的横线样式就可以了。 但今天我遇到的这个比较奇特&#xff0c;有些页有这个横线&#xff0c;有些页没有&#xff0c;就很奇怪。 最后排查完&#xff0c;发现是只有标题2的页…

WPF入门_02依赖属性

1、依赖属性主要有以下三个优点 1)依赖属性加入了属性变化通知、限制、验证等功能。这样可以使我们更方便地实现应用,同时大大减少了代码量 2)节约内存:在WinForm中,每个UI控件的属性都赋予了初始值,这样每个相同的控件在内存中都会保存一份初始值。而WPF依赖属性很好地…

《向量数据库指南》揭秘:Mlivus Cloud如何赋能GraphRAG应用

嘿,各位向量数据库和AI领域的探索者们,我是你们的老朋友,大禹智库的向量数据库高级研究员王帅旭,也是《向量数据库指南》的作者。今天,咱们来聊聊一个既前沿又实用的话题——检索增强生成(Retrieval Augmented Generation,简称RAG)及其面临的挑战,特别是如何用Mlivus …

前端/node.js锁定依赖版本、锁定依赖的依赖的版本

一、知识前提 version&#xff1a;必须依赖某个具体的版本。如&#xff1a;vue的3.2.0&#xff0c;表示必须安装3.2.0版本。>version&#xff1a;必须大于某个版本。>version&#xff1a;大于或等于某个版本。<version&#xff1a;必须小于某个版本。<version&…

多线程——单例模式

目录 前言 一、设计模式 二、饿汉模式 三、懒汉模式 1.单线程版 2.多线程版 结尾 前言 前面的几篇文章中介绍了多线程编程的基础知识&#xff0c;在本篇文章开始&#xff0c;就会利用前面的多线程编程知识来编写一些代码案例&#xff0c;从而使大家可以更好的理解运用多…

扩散模型对抗蒸馏:ADD 和 Latent-ADD

扩散模型对抗蒸馏&#xff1a;ADD 和 Latent-ADD ADD&#xff08;Adversarial Diffusion Distillation&#xff09;和 Latent-ADD 是 StabilityAI 公司提出的一系列针对 Stable Diffusion 的扩散模型对抗蒸馏方法&#xff0c;通过对抗训练和蒸馏训练来提高扩散模型的采样速度&…

python基于图片内容识别的微信自动发送信息(对其中逻辑修改一些可以改为自动化回复)

1.内容基于python日常生活问题帮助 2.主要框架 import time from datetime import datetimeimport pyperclip import win32api import win32con import os import refrom Image_Content_Text_Recognition import ICTR from screenshot import img 上面是逻辑部分主要框架 i…

【开源免费】基于SpringBoot+Vue.JS在线视频教育平台(JAVA毕业设计)

本文项目编号 T 027 &#xff0c;文末自助获取源码 \color{red}{T027&#xff0c;文末自助获取源码} T027&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 新…

解析 Vue 模板的本质:从语法糖到渲染过程

大家耳熟能详的表述如下&#xff1a;Vue 模板的本质其实是一种 声明式渲染 的形式&#xff0c;它在开发过程中提供了将组件的结构与逻辑分离的便利。 也就是说&#xff0c;模板 template 的存在只是为了让我们以更直观的方式描述界面的结构&#xff0c;然而在运行时&#xff0…

Android Framework AMS(09)service组件分析-3(bindService和unbindService关键流程分析)

该系列文章总纲链接&#xff1a;专题总纲目录 Android Framework 总纲 本章关键点总结 & 说明&#xff1a; 说明&#xff1a;上上一章节主要解读应用层service组件启动的2种方式startService和bindService&#xff0c;以及从APP层到AMS调用之间的打通。上一章节我们关注了s…

北京大学冯惠:与卓越者同行,方能更快的成长 | OceanBase数据库大赛获奖选手访谈

本文邀请2022 OceanBase 数据库大赛的季军&#xff0c;来自北京大学的冯惠同学&#xff0c;与我们分享如何寻找自己的兴趣&#xff1b;在一番经历后&#xff0c;对于产品与研发的职业方向观察&#xff1b;以及如何在学生时期提升个人专业能力&#xff0c;和参加数据库大赛的个人…

【Python技术】利用akshare定时获取股票实时价,低于5日线钉钉通知报警

今天看了下大盘&#xff0c;临时有个想法&#xff0c;我想知道某个股票回踩5日线的价格&#xff0c;如果实时价格低于5日线通过钉钉报警通知我。 说干就干&#xff0c;临时撸了下简单的代码&#xff0c;仅做演示。 1、计算5日线思路 很多券商软件的MA5价格是近5个交易日收盘…

Java项目-基于springboot框架的医患档案管理系统项目实战(附源码+文档)

作者&#xff1a;计算机学长阿伟 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、ElementUI等&#xff0c;“文末源码”。 开发运行环境 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBoot、Vue、Mybaits Plus、ELementUI工具&#xff1a;IDEA/…

Hi3061M——VL53L0X激光测距(IIC)(同样适用于其他MCU)2

目录 前言资源下载移植基本使用IO配置调用测量 总结 前言 昨晚太晚了&#xff0c;草草结束了上一篇&#xff0c;今天更新下半部分。 昨天已经讲了VL53L0X的使用流程&#xff0c;无非就是进行6步的效准初始化&#xff0c;然后配置下模式和时间&#xff0c;开始采样&#xff0c;…

LDAP 部署手册

Centos 1. 安装openldap软件 # 安装openldap yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel migrationtoolscp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG chown ldap:ldap…

Leetcode 跳跃游戏 二

核心任务是找出从数组的起点跳到终点所需的最小跳跃次数。 这段代码解决的是“跳跃游戏 II”&#xff08;Leetcode第45题&#xff09;&#xff0c;其核心任务是找出从数组的起点跳到终点所需的最小跳跃次数。 class Solution {public int jump(int[] nums) {//首先处理特殊情…

“智驭医疗·未来已来“:医疗保健知识中台的搭建与应用

前言 随着科技的飞速发展&#xff0c;医疗保健领域正在经历深刻的变革。知识中台作为促进医疗行业应用智能化升级的关键底座&#xff0c;正在逐渐成为提高医疗服务质量和效率的重要工具。本文将探讨医疗保健知识中台的内容构成、应用案例以及更新与维护机制。 一、医疗保健知识…

基于ASP.NET的小型超市商品管理系统

文章目录 前言项目介绍技术介绍功能介绍核心代码数据库参考 系统效果图 前言 示 文章底部名片&#xff0c;获取项目的完整演示视频&#xff0c;免费解答技术疑问 项目介绍 小型超市商品管理系统是一款针对小型超市日常运营需求设计的软件解决方案。该系统主要内容有商品类别…