1 solutions

  • 0
    @ 2025-11-5 16:26:03

    C :

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
    	int n;
    	scanf("%d", &n);
    	int a[1000] = {0};
    	int i=0, j=0, m;
    	for (i=0; i<n; i++)
    		a[i] = i+1;
    	i=0;
    	for (m=0; m<n; m++)
    	{
    		j=0;
    		while (j<3)
    		{
    			while (a[i] == 0)
    				i = (i+1) % n;
    			if (j==2&&m!=n-1)
    			{
    				a[i]=0;
    			}
    			i = ((i+1) % n);
    			j++;
    		}
    	}
    	i = i-1;
    	if (i<0)
    		i=n-1;
    	printf("%d\n", a[i]);
    	return 0;
    }
    

    C++ :

    #include <stdio.h>
    int main() {
    	int n, i, cur;
    	int next[1000];
    	scanf("%d", &n);
    	for (i = 0;i < n;i++)
    		next[i] = (i + 1) % n;
    	cur = 0;
    	for (i = 0;i < n - 1;i++) {
    		cur = next[cur];
    		next[cur] = next[next[cur]];
    		cur = next[cur];
    	}
    	printf("%d\n", cur + 1);
    	return 0;
    }
    
    
    • 1

    Information

    ID
    17776
    Time
    1000ms
    Memory
    32MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By