当前位置:首页 » 操作系统 » 关键算法

关键算法

发布时间: 2022-08-23 08:04:38

⑴ VFP编程0+1+1+2+3+5+8+13+21+34+55

注意观察这个数列的特性,每个数都是前两个数的和,注意到这点编程应该没有难度。
我没有用过vfp,vfp的语法细节自己查书,关键算法如下:

t1=1
t2=1
s=2
for i=1 to 4
t1=t1+t2
t2=t1+t2
s=s+t1+t2
endfor

再输出 s即可

或者

t1=1
t2=1
s=2

do while t2<55

t1=t1+t2
t2=t1+t2
s=s+t1+t2

done

⑵ 请举个例子说明在什么情况下需要使用关键路径算法

关键路径算法在很多领域有应用,例如项目管理需要计算项目中各任务的关键路径,对关键路径上的任务需要重点跟进进度,以免影响整个项目的进度。

⑶ 数据结构算法

链表-》栈-》二叉树-》图这样的顺序来学习这门课程
1.找c代码,看懂,自己写
2.有很多经典的算法,我以前学的时候也看数据结构1800,考研用书,比较好的,把基本的数据结构这快的操作都包含进去了
3.如果你需要,在看看算法导论。

1.是关键,2,3都是补充。如果只想过了这门课,上课认真听就好了,把最最基本的链表,栈,树的递归遍历用c写写就ok了。

java关键字查询算法

import java.io.FileReader;
import java.io.BufferedReader;
import java.io.File;

public class search
{
//查找方法,参数,文件绝对路径,查找关键字
public static boolean search(String filepath,String key)
{
try
{
File f = new File(filepath);
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
String s = "";
//int i = 1;
while((s = br.readLine()) != null)
{
if(s.indexOf(key) != -1)
{
return true;
}
}
return false;
}
catch(Exception e)
{
e.printStackTrace();
return false;
}
}
public static void main(String args[])
{
System.out.println(search.search("d://t.txt","l2"));
}
}

修改了下,加两个变量,可以指出查找的位置。
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.File;

public class search
{
//查找方法,参数,文件绝对路径,查找关键字
public static String search(String filepath,String key)
{
try
{
File f = new File(filepath);
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
String s = "";
int i = 1;
int m = 0;
while((s = br.readLine()) != null)
{
if((m = s.indexOf(key)) != -1)
{
return "第"+i+"段,第"+m+"处";
}
i++;
}
return null;
}
catch(Exception e)
{
e.printStackTrace();
return null;
}
}
public static void main(String args[])
{
System.out.println(search.search("d://t.txt","asd"));
}
}

这个,查汉字是没有问题的。
另外,你要全文检索的话,indexOf()还有个方法,indexOf(int start,String key),指定开始查找的位置跟关键字,你查到一处后,将这个数值加1,做为继续查找的开始位置就可以了。

⑸ 实现鸡兔同笼问题的关键算法

x为鸡的数量,y为兔的数量。
2x+4y=m,
x+y=n。
求解:x和y?
关键其实就是求解二元方程的过程。

⑹ 急求JAVA五子棋关键算法,关键问题!!

什么算法都不用
-------------------------------
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;


{
intchess[][]=newint[11][11];
booleanIs_Black_True;
mypanel()
{
Is_Black_True=true;
for(inti=0;i<11;i++)
{
for(intj=0;j<11;j++)
{
chess[i][j]=0;
}
}
addMouseListener(this);
setBackground(Color.BLUE);
setBounds(0,0,360,360);
setVisible(true);
}
publicvoidmousePressed(MouseEvente)
{
intx=e.getX();
inty=e.getY();

if(x<25||x>330+25||y<25||y>330+25)
{
return;
}
if(chess[x/30-1][y/30-1]!=0)
{
return;
}
if(Is_Black_True==true)
{
chess[x/30-1][y/30-1]=1;
Is_Black_True=false;
repaint();
Justisewiner();
return;
}
if(Is_Black_True==false)
{
chess[x/30-1][y/30-1]=2;
Is_Black_True=true;
repaint();
Justisewiner();
return;
}
}
voidDrawline(Graphicsg)
{
for(inti=30;i<=330;i+=30)
{
for(intj=30;j<=330;j+=30)
{
g.setColor(Color.WHITE);
g.drawLine(i,j,i,330);
}
}

for(intj=30;j<=330;j+=30)
{
g.setColor(Color.WHITE);
g.drawLine(30,j,330,j);
}

}
voidDrawchess(Graphicsg)
{
for(inti=0;i<11;i++)
{
for(intj=0;j<11;j++)
{
if(chess[i][j]==1)
{
g.setColor(Color.BLACK);
g.fillOval((i+1)*30-8,(j+1)*30-8,16,16);
}
if(chess[i][j]==2)
{
g.setColor(Color.WHITE);
g.fillOval((i+1)*30-8,(j+1)*30-8,16,16);
}
}
}
}
voidJustisewiner()
{
intblack_count=0;
intwhite_count=0;
inti=0;

for(i=0;i<11;i++)//横向判断
{
for(intj=0;j<11;j++)
{
if(chess[i][j]==1)
{
black_count++;
if(black_count==5)
{
JOptionPane.showMessageDialog(this,"黑棋胜利");
Clear_Chess();
return;
}
}
else
{
black_count=0;
}
if(chess[i][j]==2)
{
white_count++;
if(white_count==5)
{
JOptionPane.showMessageDialog(this,"白棋胜利");
Clear_Chess();
return;
}
}
else
{
white_count=0;
}
}
}

for(i=0;i<11;i++)//竖向判断
{
for(intj=0;j<11;j++)
{
if(chess[j][i]==1)
{
black_count++;
if(black_count==5)
{
JOptionPane.showMessageDialog(this,"黑棋胜利");
Clear_Chess();
return;
}
}
else
{
black_count=0;
}
if(chess[j][i]==2)
{
white_count++;
if(white_count==5)
{
JOptionPane.showMessageDialog(this,"白棋胜利");
Clear_Chess();
return;
}
}
else
{
white_count=0;
}
}
}

for(i=0;i<7;i++)//左向右斜判断
{
for(intj=0;j<7;j++)
{
for(intk=0;k<5;k++)
{
if(chess[i+k][j+k]==1)
{
black_count++;
if(black_count==5)
{
JOptionPane.showMessageDialog(this,"黑棋胜利");
Clear_Chess();
return;
}
}
else
{
black_count=0;
}
if(chess[i+k][j+k]==2)
{
white_count++;
if(white_count==5)
{
JOptionPane.showMessageDialog(this,"白棋胜利");
Clear_Chess();
return;
}
}
else
{
white_count=0;
}
}
}
}

for(i=4;i<11;i++)//右向左斜判断
{
for(intj=6;j>=0;j--)
{
for(intk=0;k<5;k++)
{
if(chess[i-k][j+k]==1)
{
black_count++;
if(black_count==5)
{
JOptionPane.showMessageDialog(this,"黑棋胜利");
Clear_Chess();
return;
}
}
else
{
black_count=0;
}
if(chess[i-k][j+k]==2)
{
white_count++;
if(white_count==5)
{
JOptionPane.showMessageDialog(this,"白棋胜利");
Clear_Chess();
return;
}
}
else
{
white_count=0;
}
}
}
}

}
voidClear_Chess()
{
for(inti=0;i<11;i++)
{
for(intj=0;j<11;j++)
{
chess[i][j]=0;
}
}
repaint();
}
publicvoidpaint(Graphicsg)
{
Drawline(g);
Drawchess(g);
}
publicvoidmouseExited(MouseEvente){}
publicvoidmouseEntered(MouseEvente){}
publicvoidmouseReleased(MouseEvente){}
publicvoidmouseClicked(MouseEvente){}

}


{
mypanelpanel;
myframe()
{
setLayout(null);
panel=newmypanel();
add(panel);
panel.setBounds(0,23,360,360);
setTitle("单人版五子棋");
setBounds(200,200,360,383);
setVisible(true);
addWindowListener(this);

}
publicvoidwindowClosing(WindowEvente)
{
System.exit(0);
}
publicvoidwindowDeactivated(WindowEvente){}
publicvoidwindowActivated(WindowEvente){}
publicvoidwindowOpened(WindowEvente){}
publicvoidwindowClosed(WindowEvente){}
publicvoidwindowIconified(WindowEvente){}
publicvoidwindowDeiconified(WindowEvente){}
}
publicclassmywindow
{
publicstaticvoidmain(Stringargc[])
{
myframef=newmyframe();
}
}

⑺ 中国古代数学优秀算法,除辗转相除法秦九韶算法和更相减损术外

“方程术”的关键算法叫“遍乘直除”,《九章算术》卷4中有“开方术”和“开立方术” “四元术” “中国剩余定理”
中国古代数学将几何问题也归结为代数方程,然后用程式化的算法来求解。因此,中国古代数学具有明显的算法化、机械化的特征。以下择要举例说明中国古代数学发展的这种特征。

⑻ C语言 超市信息管理程序 关键算法是什么

应该是查找货品和增加货品 这两种算法吧 你要计算怎么查找该货品 速度最快 比如你卖一个货品的货号编号是c0001234 那么你就要查找这个货品 并输出这个货品的单价 反之 增加货品 你就要设计怎么存储该货品的信息 才是最好的 我想应该就这两个

⑼ 关键线路确定的算法步骤是怎样的

第1步,拓扑排序,确定顶点的先后次序
第2步,按顶点先后顺序从前向后递推,求出结点的最早开工时间
第3步,从后向前倒推,求出结点的最迟允许开工时间
第4步,计算各弧边(也就是活动)的最早和最迟开工时间
第5步,计算活动的松弛时间,为0的就是关键活动,从始点到终点的所有关键活动就是关键路径

热点内容
海康威视存储卡质量如何 发布:2024-09-19 08:55:35 浏览:939
python3默认安装路径 发布:2024-09-19 08:50:22 浏览:516
环卫视频拍摄脚本 发布:2024-09-19 08:35:44 浏览:418
sqlserveronlinux 发布:2024-09-19 08:16:54 浏览:256
编程常数 发布:2024-09-19 08:06:36 浏览:952
甘肃高性能边缘计算服务器云空间 发布:2024-09-19 08:06:26 浏览:162
win7家庭版ftp 发布:2024-09-19 07:59:06 浏览:717
数据库的优化都有哪些方法 发布:2024-09-19 07:44:43 浏览:269
知乎华为编译器有用吗 发布:2024-09-19 07:32:20 浏览:618
访问虚拟机磁盘 发布:2024-09-19 07:28:13 浏览:670