算法问题
1. 求助算法问题
留个脚印..
没看清题..-.-不用截...
先对S排序
对于S的元素a0,a1,a2...an进行查询
取x=a0,y=an,
如果x+y>z,y=a(n-1),
如果x+y<z,x=a1.
即从两边向中间查询
如此直到两数和为z(结果),或者读取的两个数相等(无结果).
2. hannoi算法问题
可以用递归的方式。
假设有3跟柱子A,B,C,需要把A柱子上的n个盘子全部搬到C柱子上。
分三步走:1.把n-1个盘子搬到B柱子上,2.把第n个盘子搬到C柱子上,3.把B柱子上的n-1个盘子搬到C柱子上。
函数可以这样:
void Hannoi(int n,char A,char B,char C)
{
if(n==1)
Move(1,A,C);
else
{
Hannoi(n-1,A,C,B);
Move(n,A,C);
Hannoi(n-1,B,A,C);
}
}
3. C语言算法问题
这不是所有算法都必须的,是它这种算法的逻辑需要——当n是素数时一旦i*i>=n,就到i<n的判断处了,由于i<n,所以认为n是素数并输出,进入n+1判断下一个数是不是素数;但如果n不是素数,那么前面设置了一个i=n作记号,这时返回去i*i>=n了,也要跳到i<n的判断处,但这时由于i==n而不认为n是素数就不输出且直接进入n+1判断下一个数……所以你完全可以设计一个算法不要i<n的判断。这里只是为了与前面检测出n不是素数后设置的i=n这个记号相呼应的逻辑需要!
4. 计算机算法问题
这个最短平均排队时常其实就是要求大家等待的时间越短越好。从题目上看好像只有一个人来服务这n个人,所以如果希望大家等待的时间短的话,就应该将服务时间最长的人拍在最后,然后将服务时长第二长的排在倒数第二位...
如果要做算法就可以将服务时长作为权重,权重越大就排队越靠后。
5. 一个算法问题
整个程序其实就是个求和
可以改写为
s=0;
for(l=1;l<=100;l++){
s=s+l^2;
}
system.out.println(s);
整个程序其实是求 1^2 +2^2 +3^2 +...+100^2 ,即 1 到 100 的平方和
6. 算法的问题
着不是很简单的一段C语言嘛,循环三次,每次循环过程中,要求出入一个字符,循环完成后,然后退出运行。。。。
你追问哪个是输出输入输出字符串的,那个#include<math.h>没必要包含,你知道这些库文件的作用吗??
7. 关于计算机算法问题
是这样 把思路转化为算法 然后化为程序语言(有各种的程序语言) 然后用特定的编译器执行语言 最后就是你看到的了