设计一个算法
⑴ 设计一个算法
根据勾股定理求出第三遍为根号(a²+b²)
所以周长是
a+b+根号(a²+b²)
⑵ 设计一个算法
写了一段fortran代码,算法详见注释(绿色文字)。
附:模拟运行的结果和代码
⑶ 设计一个算法:
1)定位到顺序表的首结点
2)访问该结点,若其数据域为x,将其替换为y
3)若该结点是表尾结点,算法结束。否则指向其下一结点,然后转2)。
⑷ 设计一个程序算法
什么样的节点!什么样的程序,需要知道!
希望回答能给你带来帮助,如果还又不明白的地方请追问
你的采纳是我前进的动力答题不易互相理解
⑸ C语言 设计一个算法
#include<stdio.h>
#define N 10
int main(){
int n,i,j,k,j0,i0;
int m[N][N]={ 0 };
printf("请输入矩阵行数:");
scanf("%d", &n);
i=0,j=n-1,k=1,j0=n-1,i0=0;
while(k<=n*n){
m[i][j]=k++;
if(i0==0 && j<n-1){ //对角线以上,未到最右端
i++,j++;
}else if(i0==0 && i<n-1 && j==n-1){ //对角线以上,已到最右端
i=i0, j=j0-1, j0--;
}else if(i==n-1 && j==n-1){ //对角线,已到最右端
i0++, i=i0, j=0, j0=n-1;
}else if(i0>0 && j<j0-1){ //对角线以下,未到对角线
i++, j++;
}else if(i0>0 && j==j0-1){ //对角线以下,已到对角线
i0++, i=i0, j=0, j0--;
}
}
printf("\n%d阶对角压缩矩阵如下:\n",n);
for(i=0; i<n; i++){
for(j=0; j<n; j++)
printf("%5d", m[i][j]);
printf("\n");
}
return 0;
}
⑹ 设计一个算法,计算1+3+5+7+…+99
一共是(99+1)/2=50个数
首尾相加即25*100=2500
望采纳,谢谢~
⑺ 设计一个算法(数学题)
N无穷大,但因数不能无穷大 质数是无穷的,用反证法,是古希腊的一个数学家发明的,名字不记得了。
方法就是蓝色冲击的回答,但他的回答后半部分有点简单,可以这样说:所有质数的乘机再加1这个数如果不是质数那一定是和数,和数就可以表示成若干个质数的乘机(可以多次),列出这个等式,移项,1在等号一边,等号另一边是这个和数和前面的所有质数的乘积的差,提取公因子(一定有相同的质数公因子),于是式子就变成了两个整数的乘机等于1,这是不可能的,于是假设不成立。式子如下:
2*3*5*7*……*p + 1 = X (其中p假设为最大的质数,X为和数)
=》X = q*Y (q为某个质数)
=》2*3*5*7*……*q*……*p + 1 = X = q*Y
=》1 = q*Y - 2*3*5*7*……*q*……*p
=》1 = q *(Y - 2*3*5*7*…………*p)
q及(Y - 2*3*5*7*…………*p)都是整数,乘积为1,矛盾。假设不成立,即不存在最大质数。
⑻ 数学上的 设计一个算法计算1+3+5+……+2011
1=1的平方
1+3=4=2的平方
1+3+5=9=3的平方
--- ---
1+3+5+---+2011=1006的平方=1012036
【希望采纳,谢谢】
⑼ 设计一个算法程序
试题答案:(1)算法步骤:
第一步:使i=1;
第二步:使S=0;
第三步:使S=S+2i;
第四步:使i+1;
第五步:如果i>10,则输出S,结束算法;否则,返回第三步,继续执行算法.
(2)算法的程序框图:
⑽ 设计一个算法 ,并指出复杂度
问题的前提不是很清楚,如果数组中的每个元素都是不一样的,那么就简单了,伪代码如下:
while(true)
{
int i,j;
i=j=0;
if(deleted[i]==origin[j])
{
i++;j++;
}else{
printf("%d ",orgin[j]);
j++;
}
if(i>=delete.length)
break;
}
这个算法只有O(N)的复杂度。
如果原数组可能存在相同的元素,可以采用填空法,把删除后的数组元素填到原始数组对应元素的空中,填完后,空余的空就是被删除的元素,这个算法的复杂度N平方