1 条题解
-
0
C :
#include<stdio.h> int main() { int str[1024] = {0},counter = 0,i = 0, n = 0,k = 0; char ch = 'a'; scanf("%d",&n); scanf("%c",&ch); for(i = 0;i < n;i++) { str[i] = 1; } i = 0; k = n; while(n > 1) { if(i >= k) { i = i%k; } if(str[i] == 1) { counter++; } if(counter == 3) { str[i] = 0; n--; counter = 0; } i++; } for(i = 0;i < k;i++) { if(str[i] == 1) { n = i + 1; } } printf("%d\n",n); return 0; }C++ :
#include <stdio.h> const int M = 3; int main() { int n, s = 0; scanf("%d", &n); for (int i = 2; i <= n; ++i) s = (s+M)%i; printf("%d\n", s+1); return 0; }Java :
import java.util.Scanner; public class Main { /** * @param args 1947 */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); int j = 0,k = 0,count = 0; int n = in.nextInt(); int[] a = new int[1024]; for(int i = 0; i < n; i ++){ a[i] = i+1; } while(j < 3){ if(a[k] != 0){ j ++; } if(j == 3){ a[k] = 0; j = 0; count ++; } if(count == n-1){ break; } k ++; if(k == n){ k = 0; } } for(int i = 0; i < n; i ++){ if(a[i] != 0){ System.out.println(a[i]); break; } } in.close(); } }Python :
n = input() n1 = n a = [1]*n c = 2 while 1: if a[c%n] == 0: c +=1 while a[c%n] == 0: c+=1 a[c%n]=0 while a[c%n] == 0: c+=1 # print a n1-=1 if n1 == 1: break c+=1 while a[c%n] == 0: c+=1 c+=1 while a[c%n] == 0: c+=1 c=1 for i in a: if i == 1: break c+=1 print c
- 1
信息
- ID
- 2031
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 上传者