UVA 10940 Throwing cards away II
2011-12-15 22:23
459 查看
UVA_10940
列举出前有限项就会发现规律,f(1)=1,f(n)=f(2^m+k)=2*k,其中k<=2^m<n。
列举出前有限项就会发现规律,f(1)=1,f(n)=f(2^m+k)=2*k,其中k<=2^m<n。
#include<stdio.h> #include<string.h> #define MAXD 500010 int f[MAXD], N; void prepare() { int i, k; k = 1; f[1] = 1; for(i = 2; i <= 500000; i ++) { if(k * 2 < i) k *= 2; f[i] = 2 * (i - k); } } int main() { prepare(); for(;;) { scanf("%d", &N); if(!N) break; printf("%d\n", f ); } return 0; }
相关文章推荐
- UVA 10940 Throwing cards away II
- uva 10940 - Throwing cards away II
- UVa 10940 - Throwing cards away II(数论,规律)
- UVA 10940 - Throwing cards away II(规律)
- UVa 10940 - Throwing cards away II
- uva 10940 Throwing cards away II
- uva 10940 Throwing cards away II
- UVa 10940 Throwing cards away II (约瑟夫问题)
- UVA10940 - Throwing cards away II(找规律)
- uva 10935 throwing cards away <queue>
- UVA 10935 - Throwing cards away I
- UVa-10935 - Throwing cards away I
- UVa 10935 - Throwing cards away I
- uva 10935 Throwing cards away I
- UVa 10935 - Throwing cards away I
- UVa 10935 Throwing cards away I
- UVa 10935 Throwing cards away 1
- UVA -10935-卡片游戏-Throwing cards away
- UVA_10935: Throwing cards away I
- uva-10935-Throwing cards away I