day10 2023年AI十大展望
新年伊始,大模型的话题热度不减。2022年11月底,ChatGPT展现的惊人能力将大模型研究和应用热度推向高潮,人们激烈讨论着这个高级“物种”的推出意味着什么,比如是否会颠覆搜索引擎市场格局。踏入2023年,这不禁让我们对GPT-4的发布充满遐想,它会比ChatGPT更上一层楼吗?会有哪些不一样的惊喜?
岁末年初之际,科技圈的年度盘点不胜枚举,相关技术预测倒是不多。本文作者Rob Toews发布了2023年AI发展的十大预测,整体来看,大部分预测都离不开“大模型”这个关键词,具体分析也有其道理。当然,其中的文生图、人形机器人等领域的发展也举足轻重。2023,让我们拭目以待。
1 重磅事件:GPT-4将在年初发布
GPT-4是OpenAI的新一代生成语言模型,它有着强大的功能,最近到处流传着它的消息。
GPT-4预计将在2023年年初发布,相较于GPT-3和3.5,GPT-4的性能有着跳跃式的提升。尽管最近有关ChatGPT的讨论正在火热朝天地进行,但相比GPT-4,这只是前奏而已,让我们拭目以待!
GPT-4 会是什么样子的呢?与人们的直觉不同,我们预测它不会比其前身GPT-3大太多 ...
1-1 交换两个字符串
输入格式:字符串1字符串2
输出格式:字符串1字符串2
输入样例:在这里给出一组输入。例如:
12helloworld
输出样例:在这里给出相应的输出。例如:
12worldhello
代码:123456789101112131415C++#include<iostream>#include <string>using namespace std;int main(){ string str1; string str2; cin >> str1; cin >> str2; swap(str1,str2); cout << str1 << endl; cout << str2; return 0;}
1-7 两个有序单链表求差集
各依次输入递增有序若干个不超过100的整数,分别建立两个递增有序单链表,分别表示集合A和集合B。设计算法求出两个集合A和B 的差集(即仅由在A中出现而不在B中出现的元素所构成的集合),并存放于A链表中。要求结果链表仍使用原来两个链表的存储空间, 不另外占用其它的存储空间。然后输出求的差集的单链表。测试数据保证结果链表至少存在一个元素。
输入格式:首先输入一个整数T,表示测试数据的组数,然后是T组测试数据。每组测试数据先在第一行输入数据个数n及n个依次递增有序的不超过100的整数,再在第二行输入数据个数m及m个依次递增有序的不超过100的整数。
输出格式:对于每组测试,输出A与B的差集的单链表,每两个数据之间留一个空格。
输入样例:12345211 10 14 23 25 26 31 34 42 51 65 9010 10 41 42 46 51 58 59 60 68 975 1 2 3 4 53 3 4 5
输出样例:1214 23 25 26 31 34 65 901 2
代码:12345678910111213141516171819202122232425262728293 ...
1-6 书号判断与纠错
图书都有唯一的ISBN码(书号)标识,ISBN分为10位和13位两种。对于10位的ISBN码,包含9位数字和1位校验码,其格式如“a-bcd-efghi-j”,其中符号“-”是分隔符,字母a,b,……,i代表0,1,……,9中的某位数字,最后一位是校验码(可以为0,1,……,9中的某位数字,也可以是大写字母X)。对于格式为“a-bcd-efghi-j”的书号,校验码的计算方法如下(参考自百度百科):将去掉校验码后得到的9位数字依序分别乘以从10,9,8,……,3,2,将其乘积相加得到累加和sum,求余数r=sum%11;若r=0,则校验码为0;否则求11与r的差数d=11-r,若d=10,则以“X”来表示校验码,否则校验码为d。即:sum=a×10+b×9+c×8+d×7+e×6+f×5+g×4+h×3+i×2,r=sum % 11,若r为0,则校验码为0,否则d=11-r,若d=10,则校验码为大写字母X,否则校验码为d。
例如,对于书号:7-302-56474-4,有sum=7×10+3×9+0×8+2×7+5×6+6×5+4×4+7×3+4×2=216,r=216 % 11=7, ...
1-5 约瑟夫环
有n个人围成一圈(编号为1~n),从第1号开始进行1、2、3报数,凡报3者就退出,下一个人又从1开始报数……直到最后只剩下一个人时为止。请问此人原来的位置是多少号?
输入格式:测试数据有多组,处理到文件尾。每组测试输入一个整数n(5≤n≤100)。
输出格式:对于每组测试,输出最后剩下那个人的编号。
输入样例:123102869
输出样例:12342368
代码:12345678910111213141516171819202122232425262728293031323334C++#include<bits/stdc++.h>using namespace std;int main(){ int n; while(cin >> n){ int a[1001] = {0}; int m; m = 3; int count = 0;//记录退出人数 int k = -1;//这里假定开始为第一个人,下标 ...
1-4 绩点计算
某大学的GPA(绩点)计算规则如下:
课程百分制成绩90分对应绩点4.0,超过90分的,按90分计;如不足90分,则课程绩点 = 4.0 * 分数/90。学生综合绩点按该生已修的各门课程绩点结合学分加权平均而得。现有步步同学入学后的已修课程(共5门)成绩表如下,请编程计算其GPA。
输入格式:第1门课程百分制分数 学分
第2门课程百分制分数 学分
第3门课程分制分数 学分
第4门课程百分制分数 学分
第5门课程百分制分数 学分
说明:百分制分数和学分均为整数。
输出格式:请参考输出样例。其中,GPA值保留两位小数。
输入样例:1234578 391 565 495 360 2
输出样例:1GPA:3.49
代码:1234567891011121314151617181920212223C++#include<bits/stdc++.h>using namespace std;int main(){ float grade[5],credit[5],gpa[5]; float gpa1,gpa2; gpa1 = 0; ...
1-3 英文字母
在计算机内部,英文字母依ASCII码分别由连续的整数来表示。比如,大写的英文字母A的ASCII码值为65,B的码值为66,然后依次递增,Z的码值为90。
请编程计算:
从键盘读取大写字母Q(代号,其值由具体输入确定),请问Q所代表的大写字母是字母表中的第几个字母(从1开始计数,即A为第1个字母)?从键盘读取整数N,求字母表中的第N个字母(从1开始计数)是什么?
输入格式:QN
说明:是一个字符的大写字母;N的取值范围为1~26。
输出格式:请参考输出样例。
输入样例:12B3
输出样例:122C
代码:12345678910111213C++#include<bits/stdc++.h>using namespace std;int main(){ char q; int n; cin >> q; cin >> n; cout << (int)q - 64 << endl; cout << (char)(n + 64); return 0;} ...
1-2 2017Final 圆周率山
为了参加学校的社团风采展,怡山小学数学组的同学们决定画一座圆周率山,以宣传圆周率。
已知圆周率为:3.
1415926535 8979323846 2643383279 5028841971 6939937510
5820974944 5923078164 0628620899 8628034825 3421170679
8214808651 3282306647 0938446095 5058223172 5359408128
4811174502 8410270193 8521105559 6446229489 5493038196
输入格式:输入山的高度,为一个不超过10的正整数。
输出格式:以上尖下宽,左右对称的三角形形式,给出圆周率的前若干位(不含小数点)。注意:每行均以数字结尾,即数字右边无空格。
输入样例1:11
输出样例1:13
输入样例2:14
输出样例2:1234 3 141 592653589793
代码:1234567891011121314151617C++#include<bits/stdc++.h>using names ...
day5 为什么很多程序员都建议使用Linux
为什么很多程序员都建议使用Linux发展历程UNIX 说到Linux,就不能提到大名鼎鼎的UNIX系统,在上世纪60年代末的时候,那时候计算机系统还是批处理的,在又大又笨的大型机器上运行,要先将程序卡片装入设备,然后等1个小时后才能取运算的结果。不仅慢,还很废纸。
于是美国电话电报公司(下面简称AT&T公司)下面的贝尔实验室联合麻省理工学院及美国通用电气公司本来是打算开发一个大型机上的多人使用、多任务、多层次的操作系统multics。但是multics这个系统步子迈得太大了,贝尔实验室认为这个项目周期长、成本高,不久就撤资了,各方也陆续退出,项目于是凉凉了。
但是贝尔实验室下面的两个研究员肯·汤普森(Ken Thompson)和丹尼斯·里奇(Dennis Ritchie)对项目关闭很失望,因为他们在这个系统上开发了一个游戏太空旅行(Space Travel),实验室的其他人员对这个游戏玩得也很上头。
于是,为了能够继续玩游戏,肯·汤普森和丹尼斯·里奇决定自己开发一个操作系统;是的,你没有看错,大神就是大神,出发点都异于常人。肯·汤普森找 ...
day4 小端序和大端序
小端序和大端序写在开头大家都知道,数据存储在内存中时,由于1字节只有8位,存储的数据范围有限,我们需要将占用多个字节的数据按照特定顺序排列存储。在存储过程中,根据实际使用场景特点,会采用不同的字节序——小端序(Little Endian)和大端序(Big Endian)。
什么是字节序字节序,又称端序或尾序(Endianness)。在计算机领域中,指电脑内存中或在数字通信链路中,占用多个字节的数据的字节排列顺序。在几乎所有的平台上,多字节对象都被存储为连续的字节序列。
小端序和大端序首先我们给出这两个字节序的定义:
小端序:将高位字节保存在内在存的高地址(低位字节在前)的方式。
大端序:将高位字节保存在内存的低地址(高位字节在前)的方式。
以存储0x12345678为例。显然他是一个四字节的数据。大端序的保存数据示意图如下:
小端序存储结果则如下:
字节序作用计算机电路先处理低位字节,效率比较高,因为计算都是从低位开始的。所以,计算机的内部处理都是小端字节序。在计算机内部,小端序被广泛应用于现代 CPU 内部存储数据;而在其他场景,比如网络传输和文件存储则使用大端序。不同CPU保 ...