P20@JavaScript

<!DOCTYPE html>

<html lang="en">

<head>

	 <meta charset="UTF-8">

	 <title>P20 @JavaScript OOP2</title>

	 <script>

		 var Tool = function() {

			 return {

				 /*产生s,e之间均匀分布的随机数*/

				 doss : function(s, e) {

					 return Math.floor(Math.random() * (e - s + 1) + s);

				 },

				 /*判断n是否是质数的简单优化算法 */

				 prime : function(n) {

					 if(n < 0)

						 n = -n;

					 if(n === 2)

						 return true;

					 if(n < 2 || n % 2 === 0)

						 return false;

					 for( c = 3; c * c <= n; c += 2)

						 if(n % c === 0)

							 return false;

					 return true;

				 },

				 /*计算[s,e]区间能被r整除的所有和*/

				 sumR : function(s, e, r) {

					 s = Math.floor((s + r - 1) / r) * r;

					 e = Math.floor(e / r) * r;

					 //alert(s + " " + e + " " + r);

					 return (s + e) * ((e - s) / r + 1) / 2;

				 },

				 /*a,b最大公约数*/

				 gcd : function(a, b) {

					 return b === 0 ? a : this.gcd(b, a % b);

				 },

				 /*a,b最小公倍数*/

				 lcm : function(a, b) {

					 return a * b / this.gcd(a, b);

				 },

				 /*计算x+y+z===total && x*fx+y*fy+z*fz===money所有非负整数解*/

				 search : function(money, total, fx, fy, fz) {

					 for( x = 0; x <= total; x++)

						 for( y = 0; y <= total - x; y++) {

							 z = total - x - y;

							 if(x * fx + y * fy + z * fz === money)

								 document.writeln(x + " " + y + " " + z + "<br/>");

						 }

				 },

				 imply : function(p, q) {

					 return !p || q;

				 },

				 bool2int : function(b) {

					 return b ? 1 : 0;

				 },

				 int2bool : function(i) {

					 return i === 0 ? false : true;

				 }

			 };

		 };

		 var tool = Tool();

	 </script>

</head>

<body>

<h1>程序设计训练基础题库</h1>

<h2>P20 in JavaScript Solver</h2> 

<h2></h2><font style="font-weight:bold;font-style:italic;">by ZHAO Jing(QQ:33470027)</font></h2>

<p>1.	 随机产生一些1—100之间的整数,直到产生的数为50为止。<br/>

<script>

	 var p01 = function() {

		 var start = 1;

		 var end = 100;

		 var target = 50;

		 return {/*这种设计方法的好处是p01()返回值就是一个对象,且拥有数据start,end,target,和花括号内的方法*/

			 intialize : function(s, e, t) {

				 start = s;

				 end = e;

				 target = t;

				 return this;

				 //这句很重要方便链式操作 p01().initialize().solve()....

			 },

			 solve : function() {

				 var A = [];

				 var i = 0;

				 do {

					 var k = tool.doss(start, end);

					 A[i] = k;

					 i++;

				 } while(target!==k);

				 document.writeln(A);

			 }

		 };

	 };

	 p01().intialize(1, 100, 50).solve();

</script>

<p>2.	 计算1—1000之间能同时被3和5整除的整数的和。<br/>

<script>

	 var p02 = function() {

		 var start = 1;

		 var end = 1000;

		 var mod = 15;

		 return {

			 intialize : function(s, e, p, q) {

				 start = s;

				 end = e;

				 mod = p * q / tool.gcd(p, q);

				 return this;

			 },

			 solve : function() {

				 document.writeln(tool.sumR(start, end, mod));

			 }

		 };

	 };

	 p02().intialize(1, 1000, 3, 5).solve(); 

</script>   




<p>3.	 打印下列图形:   

            1   

           121   

          12321   

           121   

            1 <br/>

<script>

	 var p03 = function() {

		 var level = 3;

		 return {

			 intialize : function(lev) {

				 level = lev;

				 return this;

			 },

			 solve : function() {

				 for( row = 1; row <= level; row++) {

					 for( i = level - row; i >= 0; --i)

						 document.write("  ");

					 for( i = 1; i <= row; i++)

						 document.write(i);

					 for( i = i - 2; i >= 1; i--)

						 document.write(i);

					 document.writeln('<br/>');

				 }

				 for( row = row - 2; row >= 1; row--) {

					 for( i = level - row; i >= 0; --i)

						 document.write("  ");

					 for( i = 1; i <= row; i++)

						 document.write(i);

					 for( i = i - 2; i >= 1; i--)

						 document.write(i);

					 document.writeln('<br/>');

				 }

			 }

		 };

	 };

	 p03().intialize(9).solve(); 

</script>

<p>4.	 一百匹马驮一百块瓦,一匹大马可以驮3块,一匹母马可驮2块,小马2匹可驮1块。试编程求需要各种马多少匹? <br/>

<script>

	 var p04 = function() {

		 var money = 100;

		 var total = 100;

		 var fx = 3;

		 var fy = 2;

		 var fz = 1 / 2;

		 return {

			 intialize : function(m, t, x, y, z) {

				 money = m;

				 total = t;

				 fx = x;

				 fy = y;

				 fz = z;

				 return this;

			 },

			 solve : function() {

				 tool.search(money, total, fx, fy, fz);

			 }

		 };

	 }

	 p04().intialize(100, 100, 3, 2, 1 / 2).solve();

</script>  

<p>5.	 有三种纪念邮票,第一种每套一张售价2元,第二种每套一张售价4元,第三种每套9张售价2元。现用100元买了100张邮票,问这三种邮票各买几张? <br/>

<script>p04().intialize(100, 100, 2, 4, 2 / 9).solve();</script>  

<p>6.	 赵、钱、孙、李、周五人围着一张圆桌吃饭。饭后,周回忆说:“吃饭时,赵坐在钱旁边,钱的左边是孙或李”;李回忆说:“钱坐在孙左边,我挨着孙坐”。结果他们一句也没有说对。请问,他们在怎样坐的? <br/> 

	 <script>

		 var p06 = function() {

			 var n = 5;

			 var zhao = 1, qian, sun, li, zhou;

			 return {

				 left : function(p, q) {

					 return p + 1 === q || p === 5 && q === 1;

				 },

				 right : function(p, q) {

					 return this.left(q, p);

				 },

				 near : function(p, q) {

					 return this.right(p, q) || this.left(p, q);

				 },

				 solve : function() {

					 for( qian = 2; qian <= n; qian++) {

						 for( sun = 2; sun <= n; sun++) {

							 if(sun === qian)

								 continue;

							 for( li = 2; li <= n; li++) {

								 if(li === qian || li === sun)

									 continue;

								 zhou = 15 - zhao - qian - li - sun;

								 if(zhou === zhao || zhou === qian || zhou === sun || zhou === li)

									 continue;

								 zp = this.near(zhao, qian);

								 zq = this.left(sun, qian) || this.left(li, qian);

								 lp = this.left(qian, sun);

								 lq = this.near(li, sun);

								 if(zp === false && zq === false && lp === false && lq === false)

									 document.writeln(zhao + "" + qian + "" + sun + "" + li + "" + zhou + "<br/>");

							 }

						 }

					 }

				 }

			 };

		 };

		 p06().solve();

	 </script>

<p>7.	 找数。一个三位数,各位数字互不相同,十位数字比个位、百位数字之和还要大,且十位、百位数字之和不是质数。编程找出所有符合条件的三位数。   

  注:1.   不能手算后直接打印结果。   

      2.   “质数”即“素数”,是指除1和自身外,再没有其它因数的大于1的自然数。   <br/>

      <script>

		 var p07 = function() {

			 var size = 3;

			 var start = 100;

			 var end = 999;

			 return {

				 intialize : function(n) {

					 size = n;

					 start = Math.pow(10, n - 1);

					 end = start * 10 - 1;

					 return this;

				 },

				 solve : function() {

					 for( n = start; n <= end; n++) {

						 a = Math.floor(n / 100) % 10;

						 b = Math.floor((n % 100) / 10);

						 c = n % 10;

						 if(a !== b && b !== c && b > a + c && tool.prime(a + b) === false)

							 document.writeln(n);

					 }

				 }

			 };

		 };

		 p07().intialize(3).solve();

      </script>

<p>8.	 选人。一个小组共五人,分别为A、B、C、D、E。现有一项任务,要他们中的3个人去完成。已知:(1)A、C不能都去;(2)B、C不能都不去;(3)如果C去了,D、E就只能去一个,且必须去一个;(4)B、C、D不能都去;(5)如果B去了,D、E就不能都去。编程找出此项任务该由哪三人去完成的所有组合。  <br/>

<script>

	 var p08 = function() {

		 var n = 5;

		 return {

			 solve : function() {

				 for( i = Math.pow(2, n); i < Math.pow(2, n + 1); i++) {

					 s = i.toString(2);

					 a = parseInt(s.charAt(1));

					 b = parseInt(s.charAt(2));

					 c = parseInt(s.charAt(3));

					 d = parseInt(s.charAt(4));

					 e = parseInt(s.charAt(5));

					 if(a + b + c + d + e === 3 && a + c !== 2 && b + c !== 0 && tool.imply(c === 1, d + e === 1) && b + c + d !== 3 && tool.imply(b === 1, d + e !== 2))

						 document.writeln(a + " " + b + " " + c + " " + d + " " + e + "<br/>");

				 }

			 }

		 };

	 };

	 p08().solve();

</script> 

<p>9.	 输入一个字符串,内有数字和非数字字符。如A123X456Y7A,302ATB567BC,打印字符串中所有连续(指不含非数字字符)的数字所组成的整数,并统计共有多少个整数。<br/>

<script>

	 var p09 = function() {

		 var str = "A123X456Y7A,302ATB567BC";

		 //带切割的字符串

		 var sep = /\D+/;

		 //分隔符(正则表达式形式)

		 return {

			 intialize : function(st, sp) {

				 str = st;

				 sep = sp;

				 return this;

			 },

			 solve : function() {

				 var count = 0;

				 var arr = str.split(sep);

				 for( i = 0; i < arr.length; i++)

					 if(arr[i].length > 0) {

						 document.writeln(arr[i] + "<br/>"); ++count;

					 }

				 document.writeln("count=" + count);

			 }

		 };

	 };

	 p09().intialize("A123X456Y7A,302ATB567BC", /\D+/).solve();

</script>   

<p>10.	 A、B、C三人进入决赛,赛前A说:“B和C得第二,我得第一”;B说:“我进入前两名,丙得第三名”;C说:“A不是第二,B不是第一”。比赛产生了一、二、三名,比赛结果显示:获得第一的选手全说对了,获得第二的选手说对了一句,获得第三的选手全说错了。编程求出A、B、C三名选手的名次。   

<script>

	 var p10 = function() {

		 return {

			 solve : function() {

				 for( a = 1; a <= 3; a++)

					 for( b = 1; b <= 3; b++)

						 for( c = 1; c <= 3; c++) {

							 if(a != b && b != c && c != a) {

								 ap = (b === 2) && (c == 2), aq = (a == 1);

								 bp = (b <= 2), bq = (c == 3);

								 cp = (a != 2), cq = (b != 1);

								 if(a + tool.bool2int(ap) + tool.bool2int(aq) == 3 && b + tool.bool2int(bp) + tool.bool2int(bq) == 3 && c + tool.bool2int(cp) + tool.bool2int(cq) == 3)

									 document.writeln(a + '' + b + '' + c);

							 }

						 }

			 }

		 };

	 };

	 p10().solve(); 

</script>

<p>11.	 甲、乙、丙、丁四人共有糖若干块,甲先拿出一些糖分给另外三人,使他们三人的糖数加倍;乙拿出一些糖分给另外少块。 <br/>

	 <script>

		 var p11 = function() {

			 var N = 64;

			 var a, b, c, d;

			 var A, B, C, D;

			 var T = [];

			 return {

				 initialize : function(n) {

					 N = n;

					 return this;

				 },

				 solve : function() {

					 for( a = N / 2; a <= N; a++)

						 for( b = 0; b <= N - a; b++)

							 for( c = 0; c <= N - a - b; c++) {

								 d = N - a - b - c;

								 A = a, B = b, C = c, D = d;

								 A -= B + C + D, B *= 2, C *= 2, D *= 2;

								 B -= A + C + D, A *= 2, C *= 2, D *= 2;

								 C -= B + A + D, A *= 2, B *= 2, D *= 2;

								 D -= B + C + A, B *= 2, C *= 2, A *= 2;

								 if(A === B && B === C && C === D)

									 document.writeln(a + ' ' + b + ' ' + c + ' ' + d + '<br/>');

							 }

				 }

			 };

		 };

		 p11().initialize(128).solve();

	 </script>  

<p>12.	 截数问题:   任意一个自然数,我们可以将其平均截取成三个自然数。例如自然数135768,可以截取成13,57,68三个自然数。如果某自然数不能平均截取(位数不能被3整除),可将该自然数高位补零后截取。现编程从键盘上输入一个自然数N(N的位数 12)

,计算截取后第一个数加第三个数减第二个数的结果。

<script>

	 var p12 = function() {

		 var num = 135768;

		 return {

			 intialize : function(n) {

				 num = n;

				 return this;

			 },

			 solve : function() {

				 str = num + "";

				 while(str.length % 3 !== 0)

				 str = "0" + str;

				 w = str.length / 3;

				 left = parseInt(str.substring(0, w));

				 mid = parseInt(str.substring(w, 2 * w));

				 right = parseInt(str.substring(2 * w, 3 * w));

				 document.writeln(str);

				 document.writeln(right + left - mid + "<br/>");

			 }

		 };

	 };

	 p12().intialize(135768).solve();

	 p12().intialize(1).solve();

	 p12().intialize(12).solve(); 

</script>   

<p>13.	 从键盘输入一段英文,将其中的英文单词分离出来:已知单词之间的分隔符包括空格、   问号、句号(小数点)和分号。    例如:输入:There   are   apples;   oranges   and   peaches   on   the   table.   

  输出:there   

  are   

  apples   

  oranges   

  and   

  peaches   

  on   

  the   

  table   

  <br/>

  <script>

	 p09().intialize("There   are   apples;   oranges   and   peaches   on   the   table.", /\W+/).solve();

  </script>

<p>14.	 山乡希望小学收到一箱捐赠图书,邮件上署名是“兴华中学高二班”,山乡希望小学校长送来了感谢信,可是兴华中学高二年级有四个班,校长找来了四个班的班长,问他们是哪   个班做的这件好事。一班的班长说:“是四班做的。”二班的班长说:“是三班做的好事。”三   班的班长说:“不是我们班。”   四班的班长说:“三班的班长说的不对。” 的班长都说不是自己班做的,这就难坏了校长,后来得知四个班的班长中有两个   说得是真话,有两个没有说真话,请你利用计算机的逻辑判断编一个程序,找出究竟是哪个   班做了这件好事。不能手算后直接打印结果。 <br/>

 <script>

	 var p14 = function() {

		 var A = [];

		 return {

			 solve : function() {

				 for(var n = 16; n < 16 * 2; n += 1) {

					 var s = n.toString(2);

					 //	 document.writeln(s+"<br/>");

					 A[1] = parseInt(s.charAt(1));

					 A[2] = parseInt(s.charAt(2));

					 A[3] = parseInt(s.charAt(3));

					 A[4] = parseInt(s.charAt(4));

					 p1 = (A[4] === 1);

					 //一班的班长说:“是四班做的。”

					 p2 = (A[3] === 1);

					 //二班的班长说:“是三班做的好事。”

					 p3 = (A[3] === 0);

					 //三班的班长说:“不是我们班。”

					 p4 = !p3;

					 // 四班的班长说:“三班的班长说的不对。”

					 if(tool.bool2int(p1) + tool.bool2int(p2) + tool.bool2int(p3) + tool.bool2int(p4) === 2 && A[1] + A[2] + A[3] + A[4] === 1)

						 document.writeln(A + "<br/>");

				 }

			 }

		 }

	 };

	 p14().solve();

 </script> 

<p>15.	 A,B,C,D,E五个人合伙夜间捕鱼,凌晨时都疲惫不堪,各自在河边的树丛中找地   方睡着了,日上三竿,E第一个醒来,他将鱼数了数,平分成五分,把多余的一条扔进河中,   拿走一份回家去了,D第二个醒来,他并不知道有人已经走了,照样将鱼平分成五分,又扔掉多余的一条,拿走自己的一份,接着C,B,A依次醒来,也都按同样的办法分鱼(平分成   五份,扔掉多余的一条,拿走自己的一份),问五人至少合伙捕到多少条鱼。     也许你能用数学办法推出鱼的条数,但我们的要求你编出一个程序,让计算机帮你算出鱼的总数。

<script>

	 var p15 = function() {




		 return {

			 ok : function(n) {

				 return n > 0 && n - Math.floor(n) == 0;

			 },

			 solve : function() {

				 for( n = 1; ; n++) {

					 a = (n - 1) / 5 * 4;

					 b = (a - 1) / 5 * 4;

					 c = (b - 1) / 5 * 4;

					 d = (c - 1) / 5 * 4;

					 e = (d - 1) / 5 * 4;

					 if(this.ok(a) && this.ok(b) && this.ok(c) && this.ok(d) && this.ok(e)) {

						 document.writeln(n + " " + a + " " + b + " " + c + " " + d + " " + e + "<br/>");

						 break;

					 }

				 }

			 }

		 };

	 };

	 p15().solve();

</script>   

<p>16.	 试编程找出能被各位数字之和整除的一切两位数。<br/>

<script>

	 var p16 = function() {

		 var num = 2;

		 var start = 10;

		 var end = 99;

		 return {

			 intialize : function(w) {

				 num = w;

				 start = Math.pow(10, w - 1);

				 end = start * 10 - 1;

				 return this;

			 },

			 ok : function(n) {

				 var s = 0;

				 while(n > 0) {

					 s += n % 10;

					 n = Math.floor(n / 10);

				 }

				 return s;

			 },

			 solve : function() {

				 for( n = start; n <= end; n++)

					 if(n % this.ok(n) === 0)

						 document.writeln(n + " ");

				 document.writeln("<br/>")

			 }

		 };

	 };

	 p16().intialize(2).solve(); 

</script>   

<p>17.	 一个正整数的个位数字是6,如果把个位数字移到首位,所得到的数是原数的4倍,试编程找出满足条件的最小正整数。  <br/>

	 <script>

		 var p17 = function() {

			 var d = 6;

			 var w = 4;

			 return {

				 intialize : function(dd, ww) {

					 d = dd;

					 w = ww;

					 return this;

				 },

				 solve : function() {

					 for( n = 1; ; n++) {

						 pre = n * 10 + d;

						 after = parseInt(d.toString(10) + n);

						 if(pre * w === after) {

							 document.writeln(pre + "*" + w + "=" + after + "<br/>");

							 break;

						 }

					 }

				 }

			 };

		 };

		 p17().intialize(6, 4).solve();

		 p17().intialize(7, 5).solve();

	 </script> 

<p>18.	 某本书的页码从1开始,小明算了算,总共出现了202个数1,试编程求这本书一共有多少页?   <br/>

<script >

	 var p18 = function() {

		 var total = 202;

		 return {

			 intialize : function(tt) {

				 total = tt;

				 return this;

			 },

			 ones : function(n) {

				 var str = n.toString();

				 var count = 0;

				 for( i = 0; i < str.length; i++)

					 if(str.charAt(i) === '1')

						 ++count;

				 return count;

			 },

			 solve : function() {

				 var sum = 0;

				 for( page = 1; sum < total; page++) {

					 sum += this.ones(page);

				 }

				 if(sum > page)

					 document.writeln("Impossible<br/>");

				 else

					 document.writeln(page + "<br/>");

			 }

		 };

	 };

	 p18().solve();

</script>

<p>19.	 从键盘上输入两个不超过32767的整数,试编程序用竖式加法形式显示计算结果。   

  例如:   输入   123,   85   

  显示:    123   

  +    85   

    -------------   

    208   

 <br/>

 <script>

	 var p19 = function() {

		 var a = 123, b = 85;

		 return {

			 initialize : function(aa, bb) {

				 a = aa;

				 b = bb;

				 return this;

			 },

			 setWidth : function(n, w) {

				 if( typeof (n) == 'number') {

					 //alert('1');

					 var s = n + '';

					 while(s.length < w)

					 s = '$' + s;

					 return s;

				 } else {

					 //alert('2');

					 var s = "";

					 while(s.length < w)

					 s = n + s;

					 return s;

				 }

			 },

			 solve : function() {

				 w = 10;

				 s = this.setWidth(a, w) + '<br/>' + "+" + this.setWidth(b, w - 1) + '<br/>' + this.setWidth('==', w) + "<br/>" + this.setWidth(a + b, w) + "<br/>";

				 document.writeln(s);

			 }

		 };

	 };

	 p19().initialize(6, 127).solve();

 </script>

<p>20.	 有30个男人女人和小孩同在一家饭馆进餐,共花了五十先令,其中男宾3先令,女宾2先令,小孩1先令。试编程求出男人女人小孩各多少人?   <br/>

<script>p04().intialize(50, 30, 3, 2, 1).solve();</script>

	

 </body>

</html>

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
程序设计训练基础题库 1. 随机产生一些1—100之间的整数,直到产生的数为50为止。 2. 计算1—1000之间能同时被3和5整除的整数的和。 尝试使用多种方法/更快的求解这类题型 3. 打印下列图形: 1 121 12321 121 1 4. 一百匹马驮一百块瓦,一匹大马可以驮3块,一匹母马可驮2块,小马2匹可驮1块。试编程求需要各种马多少匹? 5. 有三种纪念邮票,第一种每套一张售价2元第二种每套一张售价4第三种每套9张售价2元。现用100买了100张邮票,问这三种邮票各买几张? 6. 赵、钱、孙、李、周五人围着一张圆桌吃饭。饭后,周回忆说:“吃饭时,赵坐在钱旁边,钱的左边是孙或李”;李回忆说:“钱坐在孙左边,我挨着孙坐”。结果他们一句也没有说对。请问,他们在怎样坐的? 7. 找数。一个三位数,各位数字互不相同,十位数字比个位、百位数字之和还要大,且十位、百位数字之和不是质数。编程找出所有符合条件的三位数。 注:1. 不能手算后直接打印结果。 2. “质数”即“素数”,是指除1和自身外,再没有其它因数的大于1的自然数。 8. 选人。一个小组共五人,分别为A、B、C、D、E。现有一项任务,要他们中的3个人去完成。已知:(1)A、C不能都去;(2)B、C不能都不去;(3)如果C去了,D、E就只能去一个,且必须去一个;(4)B、C、D不能都去;(5)如果B去了,D、E就不能都去。编程找出此项任务该由哪三人去完成的所有组合。 9. 输入一个字符串,内有数字和非数字字符。如A123X456Y7A,302ATB567BC,打印字符串中所有连续(指不含非数字字符)的数字所组成的整数,并统计共有多少个整数。 10. A、B、C三人进入决赛,赛前A说:“B和C得第二,我得第一”;B说:“我进入前两名,丙得第三名”;C说:“A不是第二,B不是第一”。比赛产生了一、二、三名,比赛结果显示:获得第一的选手全说对了,获得第二的选手说对了一句,获得第三的选手全说错了。编程求出A、B、C三名选手的名次。 11. 甲、乙、丙、丁四人共有糖若干块,甲先拿出一些糖分给另外三人,使他们三人的糖数加倍;乙拿出一些糖分给另外三人,也使他们三人的糖数加倍;丙、丁也照此办理,此时甲、乙、丙、丁四人各有16块,编程求出四个人开始各有糖多少块。 12. 截数问题: 任意一个自然数,我们可以将其平均截取成三个自然数。例如自然数135768,可以截取成13,57,68三个自然数。如果某自然数不能平均截取(位数不能被3整除),可将该自然数高位补零后截取。现编程从键盘上输入一个自然数N(N的位数<12),计算截取后第一个数加第三个数减第二个数的结果。 13. 从键盘输入一段英文,将其中的英文单词分离出来:已知单词之间的分隔符包括空格、 问号、句号(小数点)和分号。 例如:输入:There are apples; oranges and peaches on the table. 输出:there are apples oranges and peaches on the table 14. 山乡希望小学收到一箱捐赠图书,邮件上署名是“兴华中学高二班”,山乡希望小学校 长送来了感谢信,可是兴华中学高二年级有四个班,校长找来了四个班的班长,问他们是哪 个班做的这件好事。一班的班长说:“是四班做的。”二班的班长说:“是三班做的好事。”三 班的班长说:“不是我们班。” 四班的班长说:“三班的班长说的不对。” 四个班的班长都说不是自己班做的,这就难坏了校长,后来得知四个班的班长中有两个 说得是真话,有两个没有说真话,请你利用计算机的逻辑判断编一个程序,找出究竟是哪个 班做了这件好事。不能手算后直接打印结果。 15. A,B,C,D,E五个人合伙夜间捕鱼,凌晨时都疲惫不堪,各自在河边的树丛中找地 方睡着了,日上三竿,E第一个醒来,他将鱼数了数,平分成五分,把多余的一条扔进河中, 拿走一份回家去了,D第二个醒来,他并不知道有人已经走了,照样将鱼平分成五分,又扔掉多余的一条,拿走自己的一份,接着C,B,A依次醒来,也都按同样的办法分鱼(平分成 五份,扔掉多余的一条,拿走自己的一份),问五人至少合伙捕到多少条鱼。 也许你能用数学办法推出鱼的条数,

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值