1 条题解

  • 0
    @ 2024-12-22 11:04:05

    C :

    #include<stdio.h>
    #include<stdlib.h>
    
    typedef struct tagNODE
    {
    	int num;
    	int rec;
    	struct tagNODE *next;
    }node,*linklist;
    
    void monkeylink(int n,linklist *head)
    {
    	linklist temp,upd;
    	int i;
    	(*head)=(linklist)malloc(sizeof(node));
    	upd=(*head);
    	for(i=1;i<=n;i++)
    	{
    		temp=(linklist)malloc(sizeof(node));
    		temp->num=i;
    		temp->rec=1;
    		upd->next=temp;
    		temp->next=NULL;
    		upd=temp;
    	}
    	temp->next=(*head)->next;
    }
    
    int cnt(linklist head, int m)
    {
    	linklist temp;
    	int i;
    	temp=head;
    	while(temp->next!=temp)
    	{
    		for(i=1;i<=m-1;i++)
    			temp=temp->next;
    		temp->next=temp->next->next;
    	}
    	return temp->num;
    }
    int main()
    {
    	int n,m;
    	linklist monkey,head;
    	scanf("%d%d",&n,&m);
    	monkeylink(n,&head);
    	printf("%d",cnt(head,m));
    	return 0;
    }
    

    C++ :

    #include <iostream>
    using namespace std;
    int main() {
        int m, n;
        scanf("%d %d", &n, &m);
        int index = 0;
        for (int i = 2; i <= n; ++i)
            index = (index + m) % i;
        printf("%d\n", index + 1);
        return 0;
    }
     
    
    • 1

    信息

    ID
    345
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者