#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
void count(int n)
{
int *memo=NULL;
int i,j,left,counter=0;
memo=(int *)malloc(n*sizeof(int));
if(memo==NULL)
{
printf("No enough memory!Press any key to exit.");
getch();
exit(0);
}
for (i=0;i<n;i++)
*(memo+i)=0;
left=n;
for(i=0;left>1;i++)
{
if(*(memo+i%n)==0)
counter++;
if(!(counter%3)&&*(memo+i%n)==0)
{
*(memo+i%n)=1;
left--;
}
}
for(i=0;i<n;i++)
if(*(memo+i)==0)
j=i+1;
free(memo);
printf("the left num is %d",j);
}
main()
{
int num;
printf("Please input a number:");
scanf("%d",&num);
count(num);
getch();
}
上次编的,还好还留着。
程序是报到3的退出,你改下就行.
旧贴有,懒得帮你搜了。将就着看,差不多。
[此贴子已经被作者于2006-4-30 11:15:43编辑过]