n个鸡蛋,一次拿2个多一个,一次拿3个少1个,4个多一个,5个少1个,6个多1个,7个少1个.求n?

n个鸡蛋,一次拿2个多一个,一次拿3个少1个,4个多一个,5个少1个,6个多1个,7个少1个.求n?

题目
n个鸡蛋,一次拿2个多一个,一次拿3个少1个,4个多一个,5个少1个,6个多1个,7个少1个.求n?
我换个说法吧:一次拿2个多1个,一次拿3个多2个,4个多1个,5个多4个,6个多1个,7个多6个,4楼的你再帮我跑多会吧,
答案
  希望LZ没有写错字
  观察到2,4,6都是拿完后多一个,则n-1=12x,即n-1肯定是12的倍数,12是2,4,6的最小公倍数.
  同样3,5,7,我们得到n+1=105y.
  然后我们知道n=12x+1,n=105y-1,→12x+1=105y-1,→y=(12x+2)/105.
  这是一个二元一次方程.
  根据lz所给的条件,x,y肯定是整数,这是个好消息,可以给x赋不同的值,尝试让y等于一个整数,然后就能得到n.
  本人试着用c编个简单程序
  开始用的长整型,结果溢出,后来用的是超长整型.
  ####################################
  # 结果我是算不出答案 #
  ####################################
  以下是c代码:
  测试环境:
  cpu:p8700
  操作系统:winxp
  软件:dev-c++
  -----------------------------------------------------------------------------------------------------------------------
  #include
  #include
  #include
  main()
  {
  long long y,x,n;
  printf("n个鸡蛋 ");
  printf("每次拿2个多1个 每次拿3个少1个 ");
  printf("每次拿4个多1个 每次拿5个少1个 ");
  printf("每次拿6个多1个 每次拿7个少1个 ");
  printf("猜我们有多少鸡蛋 ");
  system("pause");
  for (x=1;x>0;x++)
  {
  y=(12*x-2)%105;
  printf("x= %d",x);
  printf(" ");
  printf("y= %d ",y);
  if(y ==0)
  break;
  }
  printf("哦,我们算出鸡蛋的数量用****n***来表示 ");
  //printf("x = %d ",x);
  y = (12*x-2)/105;
  //printf("y = %d ",y);
  n= 105*y - 1;
  printf("n = %d ",n);
  system("pause");
  }
  这个东西跑了至少20分钟,没结果.
举一反三
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
奥巴马演讲不用看稿子.为什么中国领导演讲要看?
想找英语初三上学期的首字母填空练习……
英语翻译
1,人们染上烟瘾,最终因吸烟使自己丧命.
最新试题
热门考点

超级试练试题库

© 2017-2019 超级试练试题库,All Rights Reserved.