算法
Tdreamge
这个作者很懒,什么都没留下…
展开
-
约瑟夫
/*约瑟夫两种递归的区别(一个求最后活下来的,一个求的是死掉的人位置)1. (1)s=0; for (i=2;i<=n;i++) s=(s+m)%i; (2)s=0; for (i=2;i<=n;i++) s=(s+m-1)%n; if(s==0) s=n-1; //循环结束s+1为存活的人2.s=0; while(1) {原创 2012-02-07 17:06:34 · 2025 阅读 · 0 评论 -
poj 2244 Eeny Meeny Moo
/*约瑟夫问题 题目罗里吧嗦,就是告诉你一个数n,从第二个数开始数,m最小取多少,可以保证数字2存活,相当于位置1存活 */#include int main(int argc, char *argv[]){ int n,m,i,s; int a[150]; while(scanf("%d",&n) && n) { m=1; while(1) { s=0;原创 2012-02-07 19:00:02 · 481 阅读 · 0 评论 -
poj In Danger 约瑟夫
题意:1-n每数2个便抛弃一个将十进制转换为二进制,循环左移一位,在转换为十进制,即为解#include #include #include int main(int argc, char *argv[]){ int i,n,m,j; while(scanf("%de%d",&n,&m)) { if(n==0 && m==0) break; w原创 2012-02-08 15:14:39 · 595 阅读 · 0 评论 -
poj 2359 Questions
题意:输入字符窜,从第一个字符开始循环数,数到第1999就删除这个字符,继续数,直到只剩下一个字符 如果剩下的那个字符等于空格就no 等于?就yes 其他就No comments 恶心的一道题,一直以为多测试数据,将空行作为结束标志RE....#include #include const int MAXN=30100;int main(int argc, c原创 2012-02-08 15:20:45 · 883 阅读 · 0 评论