导航:首页 > 源码编译 > 趣味算法

趣味算法

发布时间:2022-01-30 02:30:51

❶ 数学典故、图形、趣味计算、小知识【1至5年级已学知识和课外知识】

抽屉原理的应用

1947年,匈牙利数学家把这一原理引进到中学生数学竞赛中,当年匈牙利全国数学竞赛有一道这样的试题:“证明在任何六个人中,一定可以找到三个互相认识的人,或者三个互不认识的人。”

这个问题乍看起来,似乎令人匪夷所思。但如果你懂得抽屉原理,要证明这个问题是十分简单的。我们用A、B、C、D、E、F代表六个人,从中随便找一个,例如A吧,把其余五个人放到“与A认识”和“与A不认识”两个“抽屉”里去,根据抽屉原理,至少有一个抽屉里有三个人。不妨假定在“与A认识”的抽屉里有三个人,他们是B、C、D。如果B、C、D三人互不认识,那么我们就找到了三个互不认识的人;如果B、C、D三人中有两个互相认识,例如B与C认识,那么,A、B、C就是三个互相认识的人。不管哪种情况,本题的结论都是成立的。

由于这个试题的形式新颖,解法巧妙,很快就在全世界广泛流传,使不少人知道了这一原理。其实,抽屉原理不仅在数学中有用,在现实生活中也到处在起作用,如招生录取、就业安排、资源分配、职称评定等等,都不难看到抽屉原理的作用。

兔同笼
你以前听说过“鸡兔同笼”问题吗?这个问题,是我国古代着名趣题之一。大约在1500年前,《孙子算经》中就记载了这个有趣的问题。书中是这样叙述的:“今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几何?这四句话的意思是:有若干只鸡兔同在一个笼子里,从上面数,有35个头;从下面数,有94只脚。求笼中各有几只鸡和兔?

你会解答这个问题吗?你想知道《孙子算经》中是如何解答这个问题的吗?

解答思路是这样的:假如砍去每只鸡、每只兔一半的脚,则每只鸡就变成了“独角鸡”,每只兔就变成了“双脚兔”。这样,(1)鸡和兔的脚的总数就由94只变成了47只;(2)如果笼子里有一只兔子,则脚的总数就比头的总数多1。因此,脚的总只数47与总头数35的差,就是兔子的只数,即47-35=12(只)。显然,鸡的只数就是35-12=23(只)了。

这一思路新颖而奇特,其“砍足法”也令古今中外数学家赞叹不已。这种思维方法叫化归法。化归法就是在解决问题时,先不对问题采取直接的分析,而是将题中的条件或问题进行变形,使之转化,直到最终把它归成某个已经解决的问题。

普乔柯趣题
普乔柯是原苏联着名的数学家。1951年写成《小学数学教学法》一书。这本书中有下面一道有趣的题。

商店里三天共卖出1026米布。第二天卖出的是第一天的2倍;第三天卖出的是第二天的3倍。求三天各卖出多少米布?

这道题可以这样想:把第一天卖出布的米数看作1份。就可以画出下面的线段图:

第一天为1份;第二天为第一天的2倍;第三天为第二天的3倍,也就是第一天的2×3倍。

列综合算式可求出第一天卖布的米数:

1026÷(l+2+6)=1026÷9=114(米)

而 114×2=228(米)

228×3=684(米)

所以三天卖的布分别是:114米、228米、684米。

请你接这种方法做一道题。

有四人捐款救灾。乙捐款为甲的2倍,丙捐款为乙的3倍,丁捐款为丙的4倍。他们共捐款132元。求四人各捐款多少元?

鬼谷算
我国汉代有位大将,名叫韩信。他每次集合部队,只要求部下先后按l~3、1~5、1~7报数,然后再报告一下各队每次报数的余数,他就知道到了多少人。他的这种巧妙算法,人们称为鬼谷算,也叫隔墙算,或称为韩信点兵,外国人还称它为“中国剩余定理”。到了明代,数学家程大位用诗歌概括了这一算法,他写道:

三人同行七十稀,五树梅花廿一枝,

七子团圆月正半,除百零五便得知。

这首诗的意思是:用3除所得的余数乘上70,加上用5除所得余数乘以21,再加上用7除所得的余数乘上15,结果大于105就减去105的倍数,这样就知道所求的数了。

比如,一篮鸡蛋,三个三个地数余1,五个五个地数余2,七个七个地数余3,篮子里有鸡蛋一定是52个。算式是:

1×70+2×21+3×15=157

157-105=52(个)

请你根据这一算法计算下面的题目。

新华小学订了若干张《中国少年报》,如果三张三张地数,余数为1张;五张五张地数,余数为2张;七张七张地数,余数为2张。新华小学订了多少张《中国少年报》呢?

采纳一下啦~~~我要提高采纳率啊 ~~~拜托拜托~~~~

❷ 趣味计算

设有钢笔x只,圆珠笔y只,铅笔z只。
x+y+z=100,10x+3y+0.5z=100,
如果全买钢笔,则能买十只,如果全买圆珠笔能买33只,全买铅笔能买50只,但这是不可能的。x小于等于10,y小于等于33,z小于等于50。将x用一到十之间的数代换一下,保证y小于等于33,z小于等于50,且是整数就OK了

❸ 求数学趣味小知识

九九歌

九九歌就是我们现在使用的乘法口诀。
远在公元前的春秋战国时代,九九歌就已经被人们广泛使用。在当时的许多着作中,都有关于九九歌的记载。最初的九九歌是从"九九八十一"起到"二二如四"止,共36句。因为是从"九九八十一"开始,所以取名九九歌。大约在公元五至十世纪间,九九歌才扩充到"一一如一"。大约在公元十三、十四世纪,九九歌的顺序才变成和现在所用的一样,从"一一如一"起到"九九八十一"止。
现在我国使用的乘法口诀有两种,一种是45句的,通常称为"小九九";还有一种是81句的,通常称为"大九九"。

阿拉伯数字

在生活中,我们经常会用到0、1、2、3、4、5、6、7、8、9这些数字。那么你知道这些数字是谁发明的吗?

这些数字符号原来是古代印度人发明的,后来传到阿拉伯,又从阿拉伯传到欧洲,欧洲人误以为是阿拉伯人发明的,就把它们叫做"阿拉伯数字",因为流传了许多年,人们叫得顺口,所以至今人们仍然将错就错,把这些古代印度人发明的数字符号叫做阿拉伯数字。

现在,阿拉伯数字已成了全世界通用的数字符

❹ 趣味数学题

在老板的手里吧

❺ C++ 关于趣味取球的算法

给,已经编译运行确认:
#include <iostream>
#include <time.h>

using namespace std;

enum Ball
{
white,
black
};

int main(int argc, char *argv[])
{
//定义袋中黑白球的数目
int BlackNum;
int WhiteNum;

//由用户指定袋中的黑白球数目
cout << "请输入袋中白球的数目" << endl;
cin >> WhiteNum;
cout << "请输入袋中黑球的数目" << endl;
cin >> BlackNum;

//初始化随机数种子
srand((unsigned)time(NULL));
int times = 0; //取球的次数

while ((BlackNum + WhiteNum) > 1)
{
++times;
int FirstBall;
int SecondBall;

//每次取得的第一个和第二个球
if (WhiteNum == 0) //袋中已没有白球,则只能取黑球
{
FirstBall = black;
cout << "第 " << times << "次取出的第一个球为黑色" << endl;
--BlackNum;
}
else if (BlackNum == 0)//袋中已没有黑球
{
FirstBall = white;
cout << "第 " << times << "次取出的第一个球为白色" << endl;
--WhiteNum;
}
else //否则随机取得一个球
{
FirstBall = rand() % 2;
if (FirstBall == white)
{
cout << "第 " << times << "次取出的第一个球为白色" << endl;
--WhiteNum;
}
else
{
cout << "第 " << times << "次取出的第一个球为黑色" << endl;
--BlackNum;
}
}

if (WhiteNum == 0) //袋中已没有白球,则只能取黑球
{
SecondBall = black;
cout << "第 " << times << "次取出的第一个球为黑色" << endl;
--BlackNum;
}
else if (BlackNum == 0)//袋中已没有黑球
{
SecondBall = white;
cout << "第 " << times << "次取出的第一个球为白色" << endl;
--WhiteNum;
}
else
{
SecondBall = rand() % 2;

if (FirstBall == white)
{
cout << "第 " << times << "次取出的第二个球为白色" << endl;
--WhiteNum;
}
else
{
cout << "第 " << times << "次取出的第二个球为黑色" << endl;
--BlackNum;
}

}

//根据取出的两个球的颜色是否相等来觉得是放黑球进去还是白球进去
if (FirstBall == SecondBall)
{
++WhiteNum;
}
else
{
++BlackNum;
}

}

if (WhiteNum == 1)
{
cout << "最后一个球为白球" << endl;
}
else
cout << "最后一个球为黑球" << endl;
system("pause");
}

❻ 趣味数学

题目的算法,就是忽悠。。。

每人实际拿出来9元
3人一共:9×3=27元
这27元,老板收了25元,服务员藏了2元
25+2=27正好
为什么要用27+2=29?
这个算式毫无道理

❼ 趣味C语言小编程

题眼就是求出2~10的最小公倍数,然后减一。
模拟排队的算法是可行的,但不是最优的。

#include <stdio.h>
int od(int x,int n) //x是否能被n整除,是返回1,否返回0
{
if (x%n) return 0;
return 1;
}

int gbs(int a[],int n) //求a[n]内所有元素的最小公倍数
{
int i,j,k,o,m=0;
int b[20],c[100];
for (i=0;i<n;i++)
{
if(m<a[i]) m=a[i];
b[i]=a[i];
}
j=2; o=0;
while (j<=m)
{
k=0;
for (i=0;i<n;i++){
if (od(b[i],j)) k++;
if (k>1) break;
}
if(k>1)
{
c[o++]=j;
for (i=0;i<n;i++)
if (od(b[i],j)) b[i]=b[i]/j;
m=0;
for (i=0;i<n;i++)
if(m<b[i]) m=b[i];
}
else
j++;
}
k=1;
for(i=0;i<o;i++)
{
k*=c[i];
}
for (i=0;i<n;i++)
{
k*=b[i];
}
return k;
}

main()
{
int a[10];
for(int i=1;i<=10;i++)
a[i-1]=i;
printf("count=%d\n",gbs(a,10)-1);
getchar();
return 0;
}

❽ 趣味数学题+++++++++游戏+++++++++

毛利人居住在新西兰,众所周知他们是从波利尼西亚移民来到新西兰的。按照毛利人的传说所言,他们的祖先是乘坐七条独木舟到达那里的。贝尔(1979年)注意到毛利人的文化传统中主张“行为游戏和娱乐”。Mu Torere(木图乐乐)游戏好像是毛利人唯一的棋盘游戏,棋盘被画在地上和totara树皮的内皮上(这是一种生长在新西兰坚硬的淡红色大树),或用木炭直接在被砍伐的totara树的木质本体上画出。
材料
一块8角星的棋盘、4只白色棋子、4只黑色棋子
参赛人数:2
目的
棋手试图在行棋中以封锁对手,棋艺也许是能取胜起决定因素。
游戏方法
将白色棋子放在标号1-4的星角上,黑色棋子放在其余的星角上。黑色棋子先走棋,并依次轮流进行走棋。不允许跳跃。
棋子可以按以下的规则移动:
1.从一个星角直接移动到邻近的另一个星角;
2.从棋盘的中央移动到一个星角;
3.如果一个或两个邻近的星角已被对手的棋子占领,则可从其中的一个星角移动到中央。
有时最后一条规则(规则3)只让棋手们在最初的两步里走,让学生们发现
取得中央的所有权是取胜是必要之所在。棋手也应当试图在棋盘上得到V字形的排列(如,putahi和两个在45度角的圆圈)。
如果双方棋手都明白这一原则还不犯错误,那么木图乐乐棋游戏将下成和局。

❾ 趣味数学题求解

2,3,5,6的公倍数有30,60,90,120等其中120-1=119是7的倍数,这条阶梯最少共有119阶

❿ 趣味编程

先定义一个数组,存储原来的数据,从数组的第一位开始,每拿掉一张,就把该位置零,下一位与最后一位掉换,其余位向前覆盖,直到直剩一张为止.
#include <stdio.h>
void main()
{
int a[100];//定义数组
int i,m,n,j,temp;
printf("Enter n:");//输入有多少张
scanf("%d",&n);
if(n==1) printf("the last is:1");//1张2张就直接给出来了
else if(n==2) printf("the last is:2");
else
{
for(i=0;i<n;i++)
{
a[i]=i+1;printf("%3d ",a[i]);//给数组赋值,就相当于编号了
}
printf("\n");
i=0;
do
{
a[i]=0;//拿掉一张,该位置就空了,置为0;
j=i+1;
while(j<n-1)//后位进一,空位的下一位移到最后
{
if(j==i+1) temp=a[j];
a[j]=a[j+1];
if(j==n-2) a[j+1]=temp;
j++;
}

if(a[n-2]==0) break;//还剩一张了
i++;
for(m=0;m<n;m++)//这个循环语句是用来观察每一步,以验证结果
{
if(a[m]==0) continue;
printf("%3d ",a[m]);
}
printf("\n");
}while(1);
printf("The last is:%d\n",a[n-1]);//最后一张的编号
}
}
用TC2.0编译通过,希望能帮到你.

阅读全文

与趣味算法相关的资料

热点内容
工作三年的大专程序员 浏览:726
java毕业设计文献 浏览:140
筹码集中度指标源码 浏览:478
listsortjava 浏览:183
plc闪光电路编程实例 浏览:299
socket编程试题 浏览:204
华为的服务器怎么设置从光驱启动 浏览:868
程序员真的累吗 浏览:326
学信网app为什么刷脸不了 浏览:873
天蝎vs程序员 浏览:992
单片机下载口叫什么 浏览:188
程序员的道 浏览:926
云服务器不实名违法吗 浏览:558
怎样查看文件夹图片是否重复 浏览:995
文件怎么导成pdf文件 浏览:808
打开sql表的命令 浏览:103
安卓手机如何面部支付 浏览:38
天元数学app为什么登录不上去 浏览:824
明日之后为什么有些服务器是四个字 浏览:104
安卓系统l1是什么意思 浏览:26