约瑟夫问题是经典的算法题,大多教材上都有的,以下是我写的,供参考:
#include
#define N 30
int yuesefu1(int data[], int sum, int k)
{
int i = 0, j = 0, count = 0;
while(count < sum - 1)
{
if(data[i] != 0) /*当前人在圈子里*/
j++;
if(j == k) /*若该人应该退出圈子*/
{
data[i] = 0; /*0表示不在圈子里*/
count++;/*退出的人数加1*/
j = 0; /*重新数数*/
}
i++;/*判断下一个人*/
if(i == sum) /*围成一圈*/
i = 0;
}
for(i = 0; i < sum; i++)
if(data[i] != 0)
return data[i];/*返回最后一个人的编号*/
}
int main()
{
int data[N], total, k, i;
while(1)
{
scanf("%d%d", &total, &k);
if(total == 0 || k == 0)
break;
for(i = 0; i < total; i++)
data[i] = i + 1; //初始化
printf("%d\n", yuesefu1(data, total, k));
}
return 0;
}
美剧西部世界第一季讲的是在未来世界关于机器人的故事。故事设定在未来世界,在那里有一个被称西部世界的机器人主题乐园。其中的部分机器人出现了意识觉醒,想要摆脱控制,暗流涌动。
可以吃的,但是喂的时候得把果冻弄碎,以免果冻卡在狗的喉咙里。 喂养狗应该注意的事项 一、以动物性蛋白为主 狗为杂食性动物,凡是人吃的东西它都想吃,但是本性还是以肉食倾向较浓。所以还是多以含有动物性蛋白质的食物喂食较为理想,特别是正当发育阶段的幼犬,大约每一公斤每天须补充8-9克的蛋白质。 动物性蛋白摄食的方法很多,如牛肉、鱼肉、鸡肉、鸡蛋、牛肝或鸡肝、牛奶等都还有这项成分。但一般来说,以鱼肉所还蛋白质最丰,应尽量多替小狗喂食。仅次于蛋白质的营养素为脂肪,幼犬需要成犬的二倍,肉类及乳制品仍然是幼犬成长所需脂肪不可缺少的获取来源,但注意鱼肉水煮过比较安全。 二、提供充分的维他命 维他命是影响体力,新陈代谢的重要因素。健康的狗能在体内合成维他命C,但其它含维他命A、B1、B2、B6、D等的食品就需要靠饲主喂食补充。因此在替狗安排三餐的时候,即应将这类食品列入菜单。将牛肝、鸡肝、鸡蛋、乳制品等搭配混合在它的食物中,问题是狗儿可能不喜欢吃这些食物,所以初时应掺混一些平时它爱吃的食物,让狗儿吃下,这样才不致造成影养偏差,或有维他命缺乏的情形。 三、不宜喂食的食品 狗儿看到家人在餐桌前啃着大鱼大肉和好吃的点心时,也会嘴馋想吃,但为考虑到它的健康,除正餐外一切食物应拒绝狗儿的乞食,下述食品由应该收藏好: l.刚从冷冻库拿出的鱼肉、牛奶(容易引起下痢) 2.鱿鱼、章鱼、贝类、虾子、螃蟹等海鲜类(不易消化) 3.鸡骨或鱼骨(有时会引致肠出血) 4.甜点蜜饯类(会成为蛀牙和肥胖的主因) 5.刺激性强的辛香料 6.盐分高的食物