1 条题解

  • 0
    @ 2023-6-11 12:17:57

    C++ :

    #include <bits/stdc++.h>
    using namespace std;
    vector<int> v;
    int main(){
    	int n,m,i; 
    	cin>>n>>m;
    	for(i = 1;i <= n;i++){
    		v.push_back(i);
    	}
    	
    	int c = -1;
    	while(v.size() != 1){
    		//要删第m个数 
    		c = (c + m) % v.size();
    //		cout<<c<<" "<<v[c]<<endl;
    		v.erase(v.begin() + c);
    		c--;
    	}
    	
    	cout<<v[0]<<endl;
    }
    
    

    Java :

    import java.util.ArrayList;
    import java.util.List;
    import java.util.Scanner;
    
    public class Main {
    
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		int n = sc.nextInt();
    		int m = sc.nextInt();
    		int i,j,len;
    		List<Integer> list = new ArrayList<Integer>();
    		//初始队列
    		for(i=1;i<=n;i++) {
    			list.add(i);
    		}
    		int c = -1;//c要删除的下标
    		while(list.size() != 1){
    	        //要删第m个数 
    	        c = (c + m) % list.size();
    	        list.remove(c);
    	        c--;
    	    }
    		System.out.println(list.get(0));
    		sc.close();	
    	}
    }
    
    
    • 1

    信息

    ID
    2424
    时间
    1000ms
    内存
    128MiB
    难度
    9
    标签
    递交数
    321
    已通过
    33
    上传者