zoj1476

来源:互联网 发布:长春java培训 编辑:程序博客网 时间:2024/06/05 07:11

题目大意:

一个怪异的钟表从0到59只有一个分针。只有一枚特殊的硬币投进去他才会动。硬币数量不限制。当投一个d硬币时,分针转d次当前时间。问最少需要多少硬币才能使分针转到0

解题思路:

模拟投币过程就行了

代码如下:

#include<stdio.h>#include<string.h>#include<math.h>#include<stdlib.h>int main(){  int s,d,count;  int mul;  int clock[60];  int flag;  int current;  while(scanf("%d%d",&s,&d)!=EOF&&d)  {    memset(clock,0,sizeof(clock));    count=0;    flag=0;    clock[s]=1;    while(s)    {      s=(s*d+s)%60;      if(clock[s])      {        flag=1;        break;      }      clock[s]=1;      count++;    }    if(flag)    {      printf("Impossible\n");    }    else    {      printf("%d\n",count);    }  }  return 0;}
0 0
原创粉丝点击