两个算法
来源:互联网 发布:centos中文输入法安装 编辑:程序博客网 时间:2024/04/28 13:14
两个算法:
其一:
public void BaoshuTest(int[] person, int k)
{
int len = person.length;
int s =0;
int c = 1;
int[] flag = new int[len];
for (int j = 0; j< len ;j++ )
{
flag[j] = 0;
}
int i =0;
int count = 0;
do
{
if ( flag[i] != k )
{
flag[i] = c;
c++;
if (c > k)
{
c = 1;
count++;
}
}
if (i == len-1)
{
i = 0;
}
else
i++;
for (int j = 0 ; j<person.length ; j++ )
{
System.out.print(flag[j] + " ");
}
System.out.println("/n");
s++;
}
while (count < len-1);
int pos = 0;
for (int j=0 ; j<len ; j++ )
{
if (flag[j] != k){ pos = j;break;}
}
System.out.println(s);
System.out.println("position is "+ (pos+1));
}
其二:
public int BaoshuTest(int[] person, int k)
{
int len = person.length;
int s =0;
if (person.length > 2)
{
if (len >= k)
{
int[] newPerson = new int[len - len/k];
for (int i = (len/k)*k; i< len; i++ )
{
newPerson[i-(len/k)*k] = person[i];
s++;
}
int j = len - (len/k)*k ;
for (int i = 0; i< (len/k)*k-1 ;i++ )
{
s++;
if ((i+1) % k != 0 )
{
newPerson[j] = person[i];
j++;
}
}
System.out.println("进入子程序 person.length >= k");
for (int i =0;i<len-len/k ;i++ )
{
System.out.print(newPerson[i]+" ");
}
System.out.println("/n");
// System.out.println("/n" + (len-len/k) + " " + k);
return s+BaoshuTest(newPerson, k);
}
else
{
int[] newPerson = new int[len-1];
for (int i = k-(k/len)*len; i< len ; i++ )
{ s++;
if (i-(k-(k/len)*len) < len-1)
{
newPerson[i-(k-(k/len)*len)] = person[i];
}
}
int j = len -(k-(k/len)*len);
for (int i =0 ;i< k-(k/len)*len-1;i++ )
{s++;
if ((i+1) %k !=0)
{
newPerson[j] = person[i];
j++;
}
}
System.out.println("进入子程序 person.length <k ");
for (int i =0;i<len-1 ;i++ )
{
System.out.print(newPerson[i]+" ");
}
System.out.println("/n");
// System.out.println("/n"+ (len-1) + " " + k);
return s + BaoshuTest(newPerson,k);
}
}
else
if (k %2 ==0)
{
System.out.println("最后的位置是:" + person[0]);
}
else
System.out.println("最后的位置是:" + person[1]);
return s;
}
其一:
public void BaoshuTest(int[] person, int k)
{
int len = person.length;
int s =0;
int c = 1;
int[] flag = new int[len];
for (int j = 0; j< len ;j++ )
{
flag[j] = 0;
}
int i =0;
int count = 0;
do
{
if ( flag[i] != k )
{
flag[i] = c;
c++;
if (c > k)
{
c = 1;
count++;
}
}
if (i == len-1)
{
i = 0;
}
else
i++;
for (int j = 0 ; j<person.length ; j++ )
{
System.out.print(flag[j] + " ");
}
System.out.println("/n");
s++;
}
while (count < len-1);
int pos = 0;
for (int j=0 ; j<len ; j++ )
{
if (flag[j] != k){ pos = j;break;}
}
System.out.println(s);
System.out.println("position is "+ (pos+1));
}
其二:
public int BaoshuTest(int[] person, int k)
{
int len = person.length;
int s =0;
if (person.length > 2)
{
if (len >= k)
{
int[] newPerson = new int[len - len/k];
for (int i = (len/k)*k; i< len; i++ )
{
newPerson[i-(len/k)*k] = person[i];
s++;
}
int j = len - (len/k)*k ;
for (int i = 0; i< (len/k)*k-1 ;i++ )
{
s++;
if ((i+1) % k != 0 )
{
newPerson[j] = person[i];
j++;
}
}
System.out.println("进入子程序 person.length >= k");
for (int i =0;i<len-len/k ;i++ )
{
System.out.print(newPerson[i]+" ");
}
System.out.println("/n");
// System.out.println("/n" + (len-len/k) + " " + k);
return s+BaoshuTest(newPerson, k);
}
else
{
int[] newPerson = new int[len-1];
for (int i = k-(k/len)*len; i< len ; i++ )
{ s++;
if (i-(k-(k/len)*len) < len-1)
{
newPerson[i-(k-(k/len)*len)] = person[i];
}
}
int j = len -(k-(k/len)*len);
for (int i =0 ;i< k-(k/len)*len-1;i++ )
{s++;
if ((i+1) %k !=0)
{
newPerson[j] = person[i];
j++;
}
}
System.out.println("进入子程序 person.length <k ");
for (int i =0;i<len-1 ;i++ )
{
System.out.print(newPerson[i]+" ");
}
System.out.println("/n");
// System.out.println("/n"+ (len-1) + " " + k);
return s + BaoshuTest(newPerson,k);
}
}
else
if (k %2 ==0)
{
System.out.println("最后的位置是:" + person[0]);
}
else
System.out.println("最后的位置是:" + person[1]);
return s;
}
- 两个算法
- 求两个数互质算法
- 求两个数互质算法
- 两个小算法题
- 两个排序算法比较
- 两个排序算法
- 两个基础算法
- 两个数交换算法
- 两个算法题
- 两个小算法
- 两个数论算法
- 两个经典算法
- Java两个小算法
- 两个精巧的算法
- 两个字符串包含算法
- 两个算法小程序
- 常用的两个算法
- 两个矩阵相乘算法
- 在Scrum开发模式下,为Sprint起名字的艺术
- solr检索乱码的问题
- Flex Air应用开发:Rss阅读器制作(1)
- OpenGL
- 生产过程的运作组织和管理机制
- 两个算法
- Scrum的工作量如何估计?
- 生产类型
- My eclipse 6.0.1 中配置JDK5.0的API文档
- Scrum的三个仪式:Sprint规划会,Sprint评审会,Scrum每日站会
- J2SE 第四章 java常用类
- Scrum角色及其职责介绍
- 茫然
- Scrum的三个法宝