当前位置:首页 » 操作系统 » 比较数字算法

比较数字算法

发布时间: 2022-12-22 03:22:18

㈠ 求一组毫无规律数字的最大值、最小值的数学算法

以最大值为例,先令第一个数为最大值a
然后用第二个数与a相比,大于a,a=第二个数,否则,最大值还是第一个数,然后再用第3个数进行同样的比较过程,直至这一堆数字比完,一个循环下来a便是最大值。

㈡ 数据快速比较算法

你想知道每位相不相同吗?我看你这是二级制数吧,如果是二进制可以用位运算的异或,相同为0,不同为1,这是最快的了,时间复杂度为O(1),掩码的操作都是用位运算的,不用什么查找。
如果你不知道位运算是啥,还是自己网络一下吧

㈢ 设计算法找出三个数中的最大值

有a,b,c三个数,比较它们的大小

  1. 方法一,按顺序两两比较,取较大的

    if (a > b) {
    max = a;
    } else {
    max = b;
    }
    if (max < c) {
    max = c;
    }

  2. 方法二,假设第一个是最大的,与后面两个数进行比较,将较大的值赋给max

    int max = a;
    if (b > max) {
    max = b;
    }
    if (c > max) {
    max = c;
    }

拓展资料

1、什么是算法

算法(algorithm):就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值作为输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果。

mark:我们可以把所有的算法想象为一本“菜谱”,特定的算法比如菜谱中的的一道“老醋花生米”的制作流程,只要按照菜谱的要求制作老醋花生米,那么谁都可以做出一道好吃的老醋花生米。so,这个做菜的步骤就可以理解为:“解决问题的步骤”

2、算法的意义

假设计算机无限快,并且计算机存储容器是免费的,我们还需要各种乱七八糟的算法吗?如果计算机无限快,那么对于某一个问题来说,任何一个都可以解决他的正确方法都可以的!

当然,计算机可以做到很快,但是不能做到无限快,存储也可以很便宜但是不能做到免费。

那么问题就来了效率:解决同一个问题的各种不同算法的效率常常相差非常大,这种效率上的差距的影响往往比硬件和软件方面的差距还要大。

3、如何选择算法

第一首先要保证算法的正确性

一个算法对其每一个输入的实例,都能输出正确的结果并停止,则称它是正确的,我们说一个正确的算法解决了给定的计算问题。不正确的算法对于某些输入来说,可能根本不会停止,或者停止时给出的不是预期的结果。然而,与人们对不正确算法的看法想反,如果这些算法的错误率可以得到控制的话,它们有时候也是有用的。但是一般而言,我们还是仅关注正确的算法!

第二分析算法的时间复杂度

算法的时间复杂度反映了程序执行时间随输入规模增长而增长的量级,在很大程度上能很好反映出算法的好坏。

㈣ 设计从5个不同的数中找出最大数的算法,并画出流程图.

略 算法步骤如下: (1)输入 , , , , ; (2)将 与 中的大数记作b; (3)将b与 比较大小,大数记作b; (4)将b与 比较大小,大数记作b; (5)将b与 比较大小,大数记作b; (6)输出b.流程图如图: 在上述的3个关键步骤中,每一步都要与上一步中得到的最大数b进行比较,得出新的最大数,将其也记作b.b可以取不同的值.

㈤ 求一个算法,,,返回一个数组中,比较接近比较数字的值,

如果没有排序,就土一点,扫描一遍所有值。加个变量记录最差距和最差距所在位置。
如果已经排序,可以二分查找,速度快。
private float getNear(float[] array, float target)
{
if (array.Length == 0) return -1;
if (array.Length == 1) return 0;

int min = 0;
int max = array.Length - 1;
int mid = (int)(min + max) / 2;

while (max - min > 1 )
{
if (target == array[mid] ) return mid;
if (target < array[mid]) max = mid;
if (target > array[mid]) min = mid;
mid = (int)(min + max) / 2;
}
return array[max] - target < target - array[min] ? max : min;
}

㈥ 比较两个数字数组中相同的数字,写出O(n)算法

void main(){
int p1[10]={...},p2[10]={...};
int p1_max = p1[0];
int p1_min = p1[0];
int p2_max = p2[0];
int p2_min = p2[0];
int j = 0,i = 0;
int temp[10];//保存输出相等的数字
for(i =1 ;i < 10 ;i++){
if(p1[i]>p1_max){
p1_max = p1[i];//求出p1数组最大值
p1max_xiaobiao = i;
}
if(p1[i]<p1_min){
p1_min = p1[i];//求出p1数组最小值
p1min_xiabiao =i;
}
}
for( i =1 ;i < 10 ;i++){
if(p2[i]>p2_max){
p2_max = p2[i];//求出p2数组最大值
p2max_xiao = i;
}
if(p2[i]<p2_min){
p2_min = p2[i];//求出p2数组最小值
p2min_xiabiao = i;
}
}

if(p1_min>p2_max || p2_min>p1_max){
printf("没有相等的数字");
}else if(p1_min>p2_min&&p1_max<p2_max){ //p1属于p2
for(int j = 0, i = p1min_xiabiao;i <= p1max_xiabiao;i++){
if(p1[i] == p2[i]){
temp[j] = p1[i];
j++;
}
}
printf("输出数组temp");//这里省略
}else if(p1_min<p2_min&&p1_max>p2_max){//p2属于p2

for(j = 0, i = p2min_xiabiao;i <= p2max_xiabiao;i++){
if(p1[i] == p2[i]){
temp[j] = p1[i];
j++;
}
}
printf("输出数组temp");//这里省略
}else{//叫什么忘了
if(p1_min>p2_min){//从p1_min开始到p2_max执行循环
for(j = 0,i = p1min_xiabiao;i <= p2max_xiabiao;i++){

if(p1[i] == p2[i]){
temp[j] = p1[i];
j++;
}
}
printf("输出数组temp");//这里省略
}else{//从p2_min开始到p1_max执行循环
for(j = 0,i = p2_min;i <= p1max_xiabiao;i++){
if(p1[i] == p2[i]){
temp[j] = p1[i];
j++;
}
}
printf("输出数组temp");//这里省略
}
}
}
//没调试过不知行不行,而且写的太烂

㈦ 字符9和数字9如何比较大小

答:字符9和数字9比较大小方法如下:把数字9看成一个字符串,再与字符串9比较大小。对于两个字符串,从左往右逐个比较字符的ASC码的大小,如果相同,就比较下一个字符,直到出现不同的字符为止,出现ASC码大的字符串为大字符串,反之为小字符串;或者一个字符串的字符已经全部比较完,而另一个还有字符,则先比较完的字符串是小字符串。这个过程一般编程语言都有这个功能,可自动完成。

㈧ 数字算法问题

首先想问下LZ 1个问题:

1.LZ第一次提问么?

以前研究过,现在来解答LZ:
2 1+1; 0+2
3 1+1+1; 1+2; 0+3
4 1+1+1+1; 1+1+2; 1+3; 2+2; 0+4
5 1+1+1+1+1 1+1+1+2; 1+1+3; 1+2+2; 1+4; 2+3; 0+5
由以上规律可以看出,除了本身划分为0+本身外,其他每个划分都至少为两项划分。人为约定下:“所有划分中的数按升序排列”。则划分N和划分N-1之间存在的关系如下:
1、所有N-1的划分式前+1都是N的划分式(比如:1+1 =>1+ 1+1);
2、比较所有N-1划分式,如果在一个划分里“第一个数<第二个数”(上面排序的目的在此),则把第一个数的值加1,然后成为N的划分式(比如:1+2 => 2+2)。

---------------------------------------------------------------------
本人不善编程,想要源代码也没,希望能帮助LZ~

㈨ 关于数字的算法

2,33,34543,35214,45435,要返回的数字就是34543,35214,45435
算一下加权平均X 然后给个范围Y 所要的数在X的Y领域内输出
这个是主观题,你感觉他几位算长,那就给它个最低值,让在超出这个值的数都输出就行

㈩ 怎样比较两个数的大小

1、整数的大小比较:位数不相同时,位数多的数大;位数相同时,从最高位看起,相同数位上的数大的数大。

2、小数的大小比较:先比较两个数的整数部分,整数部分大的那个数就大;整数部分相同时,看它们的小数部分,从高位看起,依数位比较,相同数位上的数大的那个数就大。

3、分数的大小比较:分母相同的分数,分子大的分数大;分子相同的分数,分母小的分数大;分母不同的分数,先通分在比较。

(10)比较数字算法扩展阅读:

整数就是像-3,-2,-1,0,1,2,3,10等这样的数。

分数代表整体的一部分,或更一般地,任何数量相等的部分。分数是一个整数a和一个正整数b的不等于整数的比。

小数,是实数的一种特殊的表现形式。所有分数都可以表示成小数,小数中的圆点叫做小数点,它是一个小数的整数部分和小数部分的分界号。

热点内容
java程序反编译 发布:2025-05-14 02:18:46 浏览:456
蛤蟆编程 发布:2025-05-14 02:17:12 浏览:641
解压缩文件后缀 发布:2025-05-14 02:14:07 浏览:303
阅章娱乐系统清理数据密码是多少 发布:2025-05-14 02:09:10 浏览:972
米家的密码锁初始密码是多少 发布:2025-05-14 01:58:51 浏览:36
存储空间和内存的区别 发布:2025-05-14 01:57:20 浏览:951
市里煤炭资源配置是什么意思 发布:2025-05-14 01:52:23 浏览:307
c删除一行数据库 发布:2025-05-14 01:50:53 浏览:74
sql辅助 发布:2025-05-14 01:50:46 浏览:324
为什么要限制上传速度 发布:2025-05-14 01:45:07 浏览:620