网上找的约瑟夫环~~自己写的时候有个地方没想出来~~哎~~~~就出来了上面的那个笨方法~~~~
2008-11-22 11:39
537 查看
package test;
public class josephus {
public static void main(String args[]) {
int i, j, n=10, m=3;
int a[] = new int
;
for (i = 0; i < n; i++) {
a[i] = i + 1;
}
int k = 1; //标识处理第k个离开的人
i = -1; //数组下标,下一个为0,即第一个人
while (true) //k等于n表示只剩下一个人了
{
for (j = 0; j < m;) //在圈中数m个人
{
i = (i + 1) % n;
if (a[i] > 0) {
j++; //a[i] >0表示第i个人还没有离开
}
}
if (k == n) {
break;
}
a[i] = -1; //表示该人离开
k++;
}
System.out.println("No." + a[i] + " is the winner!");
}
}
public class josephus {
public static void main(String args[]) {
int i, j, n=10, m=3;
int a[] = new int
;
for (i = 0; i < n; i++) {
a[i] = i + 1;
}
int k = 1; //标识处理第k个离开的人
i = -1; //数组下标,下一个为0,即第一个人
while (true) //k等于n表示只剩下一个人了
{
for (j = 0; j < m;) //在圈中数m个人
{
i = (i + 1) % n;
if (a[i] > 0) {
j++; //a[i] >0表示第i个人还没有离开
}
}
if (k == n) {
break;
}
a[i] = -1; //表示该人离开
k++;
}
System.out.println("No." + a[i] + " is the winner!");
}
}
相关文章推荐
- 一开始实现的时候,不知道贝塞尔曲线,自己去思考其他方法实现了。怎么想到用到贝塞尔曲线?以后碰到类似问题,应该先在网上找找都有什么方法实现。
- 今天在我导入一些安卓项目的源码的时候会出现style.xml 和MAIN.xml 等错误, 网上的方法试了各种clean各种fix等方法都是不能解决。最后去国外论坛得到解决
- 最近想写一个邮箱自动验证功能,在网上看了很多,写到自己上面出了很多问题,记录下来给后面的人一个参考
- 这是我在逛一个微波论坛的时候看到的一些帖子里面对HFSS仿真的一些问题的解决方法,不一定正确,有不对的地方希望指出,我改正!
- 通过自己写的方法实现不用ajax的POST方法请求(在网上看到的,感觉很实用)
- 适配器类(便利类)的由来:当你自己写的类中想用某个接口中个别方法的时候(注意:不是所有的方法),肿么办?
- gridview列显示,截取其中前面的几个字显示出来,当鼠标放上去的时候显示全部——使用LinkButton的方法
- 做了五年的程序员啦,从今天开始,没解决一个问题,坚持把思路整理出来,发布到网上分享,对自己对他人都有益处
- js获取src请求 得到一个参数和多个参数写法(这是集中网上的多个方法,自己cv过去就可以使用)
- 刚发现了一个问题,关于vs2005 datagridview的,我发现在设计行标头的HeaderCell.Value的时候要是设置RowTemplate.Height 的值>= 17则行标头的那个黑三角就显示出来了,要是小于17就不能显示了,想问问大家,是怎么回事?
- 分享一个自己抽象出来的Manager管理类,封装增删改,查的方法
- tableview占整个屏幕,数据只有一条的时候,点击空白地方,关闭键盘的方法
- 顺便发现,Cterm里面的文章, 汉字, 如果F4出来, 往别的地方转帖的时候, 如果没有打开中文输入法, 可能得到乱码
- 二叉树~~~非递归便利~~~觉得写得赞的几个方法(自己+网上)
- 自己整理的一些开发时候常用的js方法封装
- 网上邻居 仅仅出来 GUEST 解决方法
- 自己在学习Mybits的时候理解的一点sql注入的知识,以及处理的方法!
- 折腾二维数组(哎,真的把自己折腾死了,虽然在做的时候错了好多地方,需要认真改错,但是看到最后的结果,真的很开心)
- 匆匆的时候忘不了回回头,看看自己走过的地方我留下了什么。
- 最近想写一个邮箱自动验证功能,在网上看了很多,写到自己上面出了很多问题,记录下来给后面的人一个参考