define M 新葡京32450网址:15   //M表示人数,//记录第几个人正在报数

发布时间:2019-08-15  栏目:新葡京32450网址  评论:0 Comments

难点: 耶稣有16个徒弟,在那之中有叁个正是贩卖耶稣的叛徒,请用排除法寻觅那位叛徒:15个人围坐一圈,从第多少个开端报号:1,2,3,1,2,3……,凡是报到“3”就退出世界,最终留在圈内的人正是贩卖耶稣的叛逆,请寻找它原先的序号。(用C语言),

#include <stdio.h>

#define M 15   //M表示人数,N表示报号退出的数字

 int main()

{

    int  str[M];

    for(int a = 0;a<M;a++)   //for循环赋值

    {

        str[a]=a+1;

    }

    

    int number = M,count = 0,i =0;

    while (number > 1)  //直到只剩一位脱离循环

    {

        if (str[i] != 0)//最终没临时就不要总计了

            count++;

 

        if (count == 3) {

            str[i] = 0;//退出世界的人数值都标记为0

            count = 0;//count重新赋值为0,重新报号

            number–;//人数减1

        }

        i++;

        if (i == M)

            i = 0; //M人报号二回后再行报号

         }

     for (int i = 0; i< 15; i ++)// 看看什么人没退出,退出后赋值都为0 了

        {

        if (str[i] > 0)
printf(“贩卖耶稣叛徒的序号为:%d\n”,str[i]);

          }

    return 0;

  }

耶稣有十四个徒弟,当中有一个就是贩卖耶稣的叛逆,请用排除法寻找那位叛徒:二十一个人围坐一圈,从第三个初始报号:1,2,3,1,2,…

iOS面试常见题

1.耶稣有十一个徒弟,在那之中有二个就是贩卖耶稣的叛徒,请用排除法寻找那位叛徒:拾陆人围坐一圈,从第一私有伊始循环报数,数到三排除,最终剩余的人就是叛徒

int people[13] = {1,2,3,4,5,6,7,8,9,10,11,12,13};

int count = 0;//用来记录报数

int number = 13;//记录活着的食指

int i = 0;//记录第多少人正在报数

while (number > 1) {

if (people[i] != 0) {

count++; //如果a[i ]尚无被删去掉,报数有效

} if (count == 3) {

people[i] = 0;//剔除掉,

count = 0;//报数清零

number–;//存活人数减一

}

i++;//记录报数的下一个人

if (i == 13) {

i = 0;// 当超出范围时,登时将报数人数置为第一人

}

} for (int i = 0; i < 13; i++) {

if (people[i] > 0) {

printf(“叛徒是第%d人 “, people[i]);

}

}

2.有一千000个数,每种数的取值范围都以0~999999,找寻当中重复的数
#define COUNT 1000000

int main(void)
{
inta[COUNT] = {0};
for (int i = 0; i < COUNT; i++) {
int number = arc4random()%COUNT;//把随机数作为下标,值作为出现次数
a[number – 1] ++;
}
//输出重复的数字以及重复次数
for(int i = 0 ;i < COUNT;i++){
if (a[i] > 1) {
printf(“%d repeats %d times\n”,i+1,a[i]);
}
}
return0;
}

1.耶稣有12个徒弟,当中有三个就是发卖耶稣的叛逆,请用排除法寻觅那位叛徒:十六位围坐一圈,从第一私家开端循环报数,数到三…

参考:http://blog.chinaunix.net/uid-24219701-id-1993931.html

  1. 率先假设,当数字为1的时候则意味着活着的人,0为死了,这样大家就足以用数组来代表;
  2. 要思量的多少个难题,要形成一个环,便是说报数到第拾二人的时候,从头起头报数;
  3. 报数为3的时候,那个家伙退骑行戏,这里借使死了,数值为0;
  4. 再有三个主题材料,就是当报数到第六个人的时候,因为第多人‘死了’,所以第四人要从1起来报数;
    5.当最后只剩余一个人的时候,则甘休。

如 345 和值 3+4+5 = 12。
最小和值是1(100的和值),最大和值是27(999的和值)。总计和值1-27各现身了某些次

#include <iostream>

using namespace std;

typedef struct Node{
  int data;
  struct Node *next;
} node;

int main(void){
  node *head = new node;
  head->next = head;
  node *p = head;
  p->data = 1;

  int i;
  for(i=12; i>0; i--){
    node *p = new node;
    p->data=i+1;
    p->next = head->next;
    head->next = p;
  }

  int count = 0;
    node *q, *pq=NULL;
    p = head;

    cout << p->data << endl;

    while(1){
        count++;
        q = p;
        p = p->next;

        cout << p->data << endl;

        if(count==2){
          if(pq == p){  // 最后只有两个节点的时候,p循环至pq的位置,故删除p,留下p->next

            cout << "delete:" << p->data << endl;

            cout << p->next->data << endl;
            return 0;
          }

          cout << "delete:" << p->data << endl;

          q->next = p->next;
          delete[] p;

          count = 0;
          pq = p = q->next;

          cout << p->data << endl;

        }

    }

    return 0;

}

结果:

//法1
var arr=[];
var max =0;//定义一个变量保存最大的值
var max2 =0;//定义变量保存第二大的值
for(var  i=0;i<10;i++){
    arr[i]=parseInt(Math.random()*40+10);
    if(arr[i]>max2){//如果arr中的数比第二大的数大
        max2=arr[i];//找出第二大值
    }
    if(max2>max){
        var temp =max2;//定义一个变量保存第二大值
        max2 = max;//max2就是最大值把第二大值跟最大值交换
        max = temp;
    }
}
console.log(max);
console.log(sec)
console.log(arr);


// 法2
var arr=[];
var maxIndex =0;
var sec =0;
for(var  i=0;i<10;i++){
    arr[i]=parseInt(Math.random()*40+10);
    if(arr[i]>arr[maxIndex]){
        maxIndex=i;
    }
}
for(var i=0;i<10;i++){
    if(i != maxIndex){
        if(arr[i]>sec){
            sec=arr[i];
        }
    }
}
console.log(arr[maxIndex]);
console.log(sec);
console.log(arr);

耶稣有十二个徒弟,
当中有多个就是发卖耶稣的叛逆,请用排除法寻找那位叛徒:16个人围坐一圈,从第叁个早先报号:1,2,3,1,2,3……,凡是报到“3”就退出世界,最终留在圈内的人正是贩卖耶稣的叛逆,请寻觅它原来的序号

 var sum=1;
 for(var i =1;i<=20;i++){
    sum=sum*i;
}

相关文章

留下评论

网站地图xml地图