约瑟夫环
来源:互联网 发布:淘宝详情代码生成器 编辑:程序博客网 时间:2024/06/05 03:55
百度搜索约瑟夫问题
递推式是:
J(2k)=2J(k)-1
J(2k+1)=2J(k)+1
但是其实最优雅的方法就是用位数
我们可以对n本身做一次向左的循环移位来得到J(n)
例如:j(6)=j(110)=101=5
#include<stdio.h>#include<stdlib.h>int main(){ int n; scanf("%d",&n); int num[16],k; int *p=NULL; int i=0; while(n) { num[i]=n%2; i++; n=n/2; } p=(int *)malloc(i*sizeof(int)); for(k=0;k<i;k++) { p[k]=num[i-k-1]; } int tm=p[0]; for(k=1;k<i;k++) { p[k-1]=p[k]; } p[i-1]=p[0]; int sum=0; for(k=0;k<i;k++) { sum=sum*2+p[k]; } printf("%d",sum); free(p); return 0;}
0 0
- 约瑟夫问题、约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 深度学习—— caffe下进行微调finetune
- qgjsfagafgpjqip
- 有关Python序列化和存在的反序列化缺陷思考
- 每天学习计划及进度汇总
- JAVA基础——面向对象设计原则 类的设计原则
- 约瑟夫环
- Linux平台下安装boost库
- 验收测试,回归测试
- 163邮箱客户端授权密码怎么获得?
- ubuntu安装vmware12出现cannot ope dev/vmmon及modprobe vmmon提示密钥无效的解决办法
- ti
- 解耦框架 ModularizationArchitecture 的改进版本
- 链栈的基本操作
- 我人生的第一个bug