帮帮忙-今天的面议题,帮忙解答下!

问题描述

今天的面议题,帮忙解答下!

有17个人,编号0-16,第0人从1开始报数,报到3的倍数的人排除,直到最后一人,请问最后一人的位置是多少?请用程序代码实现,

解决方案

google 约瑟夫环 C语言,答案就有。

解决方案二:

#include
int main()
{
int i,test,p[17],head;
for(i=0;i<16;i++)
p[i]=i+1;
p[16]=0;
test=0;
while(test!=p[test])
{
for(i=1;i<3;i++)
{
head=test;
test=p[test];
}
p[head]=p[test];
test=p[head];
}
printf("n%5d",test);
return 0;
}

解决方案三:

用链表的形式正好也写了一个
输出的格式是我自己写的格式,和你想要的格式可能不同,
比如输入8 3 4
输出
输入0 0 0
停止
#include
#include
#define M 300
typedef int ElemType;
typedef struct node
{

ElemType data[M];
int length;
}sqlist;

void creat(sqlist *l)
{
l=(sqlist *)malloc(sizeof(sqlist));
l->length=0;
}

void creatfullsqlist(sqlist *l,int n)
{
int i;
for(i=0;i
{
l->data[i]=i+1;
}
l->length=n;
}

void yuesefu(sqlist *l1,sqlist *l2,int n,int p,int m)
{
int i,j;
for (i=n;i>0;i--)
{
l2->data[n-i]=l1->data[(p+m-2)%i];
if(i!=1)
{
printf ("%d,",l2->data[n-i]);
}
if(i==1)
{
printf ("%d ",l2->data[n-i]);
}
if ((p+m-2)%i!=i-1)
for (j=(p+m-2)%i+1;j
l1->data[j-1]=l1->data[j];
p=(p+m-2)%i+1;
}
printf ("n");
}
int main()
{
sqlist l1, l2;
int n,p,m;
while(scanf("%d%d%d",&n,&p,&m)==3 && n!=0 && p!=0 && m!=0)
{
creat(&l1);
creatfullsqlist(&l1,n);
creat(&l2);
yuesefu(&l1,&l2,n,p,m);
}
return 0;
}

解决方案四:

public class Test_line {

int temp = 1;

/**
 * @param args
 */
public static void main(String[] args) {
    List<Integer> num = new ArrayList<Integer>();
    for(int i=0 ; i<17 ; i++){
        num.add(i);
    }
    System.out.println(new Test_line().find(num, 1));
}

public int find(List<Integer> num , int y){
    temp += num.size();
    if(num.size() > 1){
        for(int i=0; i<num.size() ; i++){
            if((i+y) % 3 == 0){

System.out.println("RM>>>" + num.get(i));

num.set(i,-1);
}
}
Integer n = -1;
for(int i=0; i<num.size() ; i++){
num.remove(n);
}
find(num,temp);
}
return num.get(0);
}

}


时间: 2025-01-29 21:28:39

帮帮忙-今天的面议题,帮忙解答下!的相关文章

新手求助:openstack安装后使用错误,请高手帮忙解答下,谢谢!

问题描述 按照教程,在ubuntu12.04上安装了单节点的Openstack,本机是在虚拟机上跑的ubuntu,开启了双网卡,一个是NAT,另外一个是Custom:Specificvirtualnetwork但是出现了以下问题:1.root@ubuntu:~#novalistERROR:stringindicesmustbeintegers,notstr2.网页进入本机IP,输入账号密码后出现:InternalServerErrorAnunexpectederroroccurredwhilep

css3-求css大神帮忙解答下这些都是设置的网页的上的哪一部分的东西的规范?

问题描述 求css大神帮忙解答下这些都是设置的网页的上的哪一部分的东西的规范? #tbheadlogo{ border-bottom:#FB6204 2px solid; background-color:#FFF;} #tbheadnav{ border-bottom:#000 1px solid; background:url(../images/navbg.jpg) repeat-x;} #tbheadnav a{ color:#000;} #tbheadnav a:hover{ colo

遇到一个棘手的问题,需要java网络编程大神帮忙解答下~

问题描述 遇到一个棘手的问题,需要java网络编程大神帮忙解答下~ 问题是这样的: 我把MINA核心的非阻塞轮训方式的的代码用JDK7的AIO异步IO替换了,现在已经包装完成,测试的时候遇到两个问题: 测试的是这样的,服务端启动后20秒后释放所有资源关闭,客户端启动15秒后释放所有资源关闭,大部分情况下测试都是正常的,但是偶尔会出现客户端服务端都关闭后,再次启动服务的过程后,要么服务端抛出AsynchronousCloseException,客户端抛出远程主机强迫关闭一个现有连接:要么是客户端的

sftp下载zip文件-java从sftp上下载到本地磁盘的zip文件读取不了,请大家帮忙解答下,谢谢!

问题描述 java从sftp上下载到本地磁盘的zip文件读取不了,请大家帮忙解答下,谢谢! 从sftp上下载到本地的zip文件是没问题的,用压缩工具打开能查看里面的文件,为什么就是读取不了呢? java从sftp下载zip文件到本地磁盘代码: import java.io.InputStream; import java.util.Date; import com.ibm.gbs.ai.portal.framework.util.DateUtils; import com.jcraft.jsch

脚本-iOS代码混淆问题 大家帮忙解答下

问题描述 iOS代码混淆问题 大家帮忙解答下 在网上根据念茜的博客 http://blog.csdn.net/yiyaaixuexi/article/details/29201699 实现了函数名的混淆效果,但是如果我想混淆头文件的话这个方法是否行得通,是不是需要重构其他的脚本工具呢?新手,求指教 解决方案 github上有个ZMConfuse,你可以看一下,里面例举了各种的混淆 解决方案二: 头文件,一般是给别人用的,你混淆它想做什么?

java编程-有个java的问题想问问大家,欢迎进来帮忙解答下,谢谢

问题描述 有个java的问题想问问大家,欢迎进来帮忙解答下,谢谢 为什么这段代码运行结果0和3呢? public class Test { static int a; static int i=3; public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(a+" "+i); } } 解决方案 静态Int变量默认为0 解决方案二: 是的,这个static变

file-c语言在linux环境下进行文件复制的代码,使用时出错,求各位大神帮忙解答下

问题描述 c语言在linux环境下进行文件复制的代码,使用时出错,求各位大神帮忙解答下 #include#include#include#include#include#include#include#define BUFSIZE 4096#define COPYMODE 0644 void oops(char *char *);void *emalloc(size_t);void do_copy(char *char *);void copydir(char *char *);int isdi

移动-有关DevExpress 使用求能人 帮忙解答下

问题描述 有关DevExpress 使用求能人 帮忙解答下 用DEV 时Chart(line ) 能不能有啥办法 通过设置控件属性 能让Y抽能放大缩小 , 还有截图上面的 鼠标移动时 显示出来的伸到两坐标抽显示值的横竖叉直线是怎么弄出来的,是跟下面那个X抽放大虽小的那部分一样用另外的控件还是直接可以在Chart里面 设置. 解决方案 十字线的问题已经解决 是有属性可以设置的 ,就是Y 抽要放大缩小 不知道怎么弄

c-Debug下编译成功,调试出现下面的信息,请各位大大帮忙解答下,新人木有C币 ,请见谅。

问题描述 Debug下编译成功,调试出现下面的信息,请各位大大帮忙解答下,新人木有C币 ,请见谅. An application has made an attempt to load the C runtime library incorrectly. Please contact the application's support team for more information. ConstructionLift.exe 已触发了一个断点 解决方案 在你的断点触发的堆栈上,从上往下,找第