指阵应用之循环计数

原创 2013年12月02日 14:18:35
//问题:有N个人围成一圈,顺序排号,从第一个人开始报数(从1到3开始报数),凡是报道3的人退出圈子,问最后留下的是原来的第几号的哪位?
/*分析:这个题目用到与求100以内的素数相同的方法,即把一个数组中无关的数的值变为0,然后再输出不为0的数,但是这个题目是循环计数,要想直接从
尾部回到首部,用指针式是非常方便的一种方法,即当i==n时,重新赋值0给i,这样p+i有可以表示第一个数的地址了,循环计数问题最好设置一个计数
变量K,K每当到3的时候又重新赋值为0,这样就能实现重复计数。
*/




#include<stdio.h>
int main()
{
int a[50];
int  m,n,i,k=0,*p;
printf("please input the number of people:\n");
scanf("%d",&n);
p=a;
for(i=0;i<n;i++)
*(p+i)=i+1;
i=0;
k=0;
m=0;
while(m<n-1)  //当退出人数大于一的时候循环
{
if(*(p+i)!=0)
k++;
if(k==3) //用K进行循环计数
{
*(p+i)=0;
k=0;
m++;
}
i++; //当i==n时,第一轮循环结束
if(i==n)
i=0;
}
printf("the last people's number is:");
while(*p==0)p++;
printf("%d\n",*p);
return 0;
}

线程暂停(循环计数暂停)

  • 2011年03月17日 17:16
  • 857B
  • 下载

引用计数法的循环引用问题

转载地址:http://thatmonkey.blog.51cto.com/7935609/1384463 关于引用计数法,我们可以先看一段wiki上的描述: As a c...

《Java数据结构与算法》笔记-CH4-5不带计数字段的循环队列

第四章涉及三种数据存储类型:栈,队列,优先级队列 1.概括:他们比数组和其他数据存储结构更为抽象,主要通过接口对栈,队列和优先级队列进行定义。这些 接口表明通过他们可以完成的操作,而他们的主要实现...

std::shared_ptr 和 std::weak_ptr的用法以及引用计数的循环引用问题

在std::shared_ptr被引入之前,C++标准库中实现的用于管理资源的智能指针只有std::auto_ptr一个而已。 std::auto_ptr的作用非常有限,因为它存在被管理资源的所有权...

Accelerated C++学习笔记3—<循环和计数>

第2章 循环和计数 本节主要利用改进输出问候语的程序来改进如何支持循环和条件分支的。 1、使用循环输出一个周围带框架框住的问候语,且用户自己提供在框架与问候语之间的空格的个数。 // lesson2_...

JAVA垃圾回收 之 引用计数 之 循环引用

。。。java鸟蛋表示搞不明白。。。 关于引用计数版本的垃圾回收机制,大家的说法都是:"无法检测出循环引用。如父对象有一个对子对象的引用,子对象反过来引用父对象。这样,他们的引用计数永远不可...
  • wschli
  • wschli
  • 2013年04月01日 18:04
  • 4340

std::shared_ptr 和 std::weak_ptr的用法以及引用计数的循环引用问题

在std::shared_ptr被引入之前,C++标准库中实现的用于管理资源的智能指针只有std::auto_ptr一个而已。std::auto_ptr的作用非常有限,因为它存在被管理资源的所有权转移...
  • shanno
  • shanno
  • 2012年03月17日 10:56
  • 29309

std::shared_ptr 和 std::weak_ptr的用法以及引用计数的循环引用问题

转自 http://blog.csdn.net/shanno/article/details/7363480 在std::shared_ptr被引入之前,C++标准库中实现的用于管理...

【知识点】垃圾回收之引用计数之循环引用

原文地址关于引用计数法,我们可以先看一段wiki上的描述:As a collection algorithm, reference counting tracks, for each object, ...
  • jiasike
  • jiasike
  • 2016年05月09日 20:07
  • 2936
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:指阵应用之循环计数
举报原因:
原因补充:

(最多只允许输入30个字)