人 | 1 | 2 | 3 | 4 | 3 | 2 | 1 | 2 | 3 |
报数 | 1 | 2 | 3 | 4 | 5 | 6 | X | 8 | 9 |
人 | 4 | 3 | 2 | 1 | 2 | 3 | 4 | 3 | 2 |
报数 | 10 | 11 | 12 | 13 | X | 15 | 16 | X | 18 |
人 | 1 | 2 | 3 | 4 | 3 | 2 | 1 | 2 | 3 |
报数 | 19 | 20 | X | 22 | 23 | 24 | 25 | 26 | X |
人 | 4 | 3 | 2 | 1 | 2 | 3 | 4 | 3 | 2 |
报数 | X | 29 | 30 | 31 | 32 | 33 | 34 | X | 36 |
4 3 1 4 3 2 4 3 3 4 3 4 0 0 0
17 21 27 35
按游戏规则进行模拟求解!
AC码:
#include<stdio.h> int n,m,k; int fun() { int i=0,j=1,flag=0,t; while(1) { for(i=1,j=j;i<=n;i++,j++) { if(i==m) { if((j%7)==0) { flag++; if(flag==k) { return j; } } else { t=j; while(t!=0) { if((t%10)==7) { flag++; if(flag==k) { return j; } break; // 因为少了一个break,纠结了一上午啊 } t=t/10; } } } } for(i=n-1,j=j;i>1;i--,j++) { if(i==m) { if((j%7)==0) { flag++; if(flag==k) { return j; } } else { t=j; while(t!=0) { if((t%10)==7) { flag++; if(flag==k) { return j; } break;// 因为少了一个break,纠结了一上午啊 } t=t/10; } } } } } return 0; } int main() { while(scanf("%d%d%d",&n,&m,&k)&&(n+m+k)) { printf("%d\n",fun()); } return 0; }
原文地址:http://blog.csdn.net/u012804490/article/details/24637361