Chinaunix首页 | 论坛 | 博客
  • 博客访问: 171418
  • 博文数量: 44
  • 博客积分: 2762
  • 博客等级: 少校
  • 技术积分: 520
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-04 19:19
文章分类
文章存档

2011年(28)

2010年(16)

我的朋友

分类: LINUX

2011-04-25 13:29:42

朋友参加考试,遇到一个题目,貌似逻辑题。
一本书出现6的次数是256次,这本书共有多少页?

写了个小程序,试算一下,结果如下:

#include <stdio.h>

int func(int m,int n);
int main(int argc,char* argv[])
  {
  int result;
  result = func(6,256);
  printf("\n*******************");
  printf("\nresult = %d\n",result);
  printf("*******************\n");
  return 0;
  }

int func(int m, int n)
  {
      int i,j,k,t;
      k = 0;
      t=0;
      for (i=1;;i++)
       {
         j=i;
         while(j)
          {
            if(j%10 == m)
              {
                k++;
                printf(" %d",i);
                t++;                   /*这几句可以不要*/
                if (t==10)            
/*完全是为了显示看起来方便*/
                  {
                    printf("\n");     
/*而设置的语句*/
                    t=0;             
/*完全可以删掉*/
                  }
               }
           if(k==n) return i;
           j /= 10;
          }
      }
   }

输出的结果如下:

diga@diga-desktop:~/test$ ./a.out
① 6 16 26 36 46 56 60 61 62 63 64 65 66 66 67 68 69

② 76 86 96 106 116 126 136 146 156 160 161 162 163 164 165 166 166 167 168 169

☂176 186 196 206 216 226 236 246 256 260 261 262 263 264 265 266 266 267 268 269

276 286 296  306 316 326 336 346 356 360 361 362 363 364 365 366 366 367 368 369

④376 386 396 406 416 426 436 446 456 460 461 462 463 464 465 466 466 467 468 469

⑤476 486 496  506 516 526 536 546 556 560 561 562 563 564 565 566 566 567 568 569

⑥576 586 596

⑦600 601 602 603 604 605 606 606 607 608 609 610 611 612 613 614 615 616 616 617 618 619 620 621 622 623 624 625 626 626 627 628 629 630 631 632 633 634 635 636 636 637 638 639 640 641 642 643 644 645 646 646 647 648 649 650 651 652 653 654 655 656 656 657 658 659 660 660 661 661 662 662 663 663 664 664 665 665 666 666 666 667 667 668 668 669 669 670 671 672 673 674 675 676 676 677 678 679 680 681 682 683 684 685 686 686 687 688 689 690 691 692 693 694 695 696 696 697 698 699

706 716 726 736 746 756 760 761 762 763 764 765 766 766 767 768
*******************
result = 768
*******************

上面显示的结果我稍做了调整,这样显示的有点规律。
前面6行都有规律,可以算出有多少页,从第七行开始进入600页后,每一页都有6这个数字。
可以笔算出这本书到底有多少页。

但是朋友说选项里页数的最大值就是316好像,记不清了。
写到这里我突然想起来了,一本书有多少页,每一页有两面,两面都有页码,
那么768/2=384是正确答案?

请大家指点。

阅读(1185) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~