1 条题解
-
0
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
- 上传者