一、一些数学的发现(希望看得开心)
一、一个变换
实际场景:一排小方块排成一排,然后对折,把不能对折的小方块取出来。重复这项操作,直到小方块两两排成一列,这个过程中取出来的小方块就是这个变换的结果。
例如(这里拿1来表示小方块):
1111111111111111111111111(25)
对折1次:111111111111(12)
111111111111
总共取出1个小方块。
对折2次:111111(6)
111111
111111
111111
总共取出1个小方块。
对折3次:111(3)
111
111
111
111
111
111
111
总共取出1个小方块。
对折4次:11(2)
11
11
11
11
11
11
11
总共取出9个小方块。
因为小方块已经两两排成1列,所以变换结束。故25通过此变换后结果为9。
二、此变换的应用
我们可以通过程序查找像25和9这样,变换前的数是某数的平方,变换后的数是某数的平方的数对列。
这里列下程序查找结果(这里忽略了0的情况):
25 9
36 4
100 36
144 16
400 144
576 64
1600 576
。。。。。。
603979776 67108864
1677721600 603979776
不难发现,从36和4开始,每个变换前的数,在下一列,都会变成变换后的数,而且把这些数每一位相加,如果得到的不是个位数,则继续每一位相加,直到得到个位数,会发现它们的结果都是9。而且有一个有趣的数就是576,这个数在手机九宫格里打,输出的结果有可能是“老婆”。
三、规律解析
注:中间为数队列,左右两边为对应的规律。这里把所有的数字都对应到1-9中(方法就是把一个数所有数位相加,直到得到1-9的其中一个数字)。左右两边为数字的规律。
二、用C++模拟蚊子的运动来检验概率论内容
背景:在一个很大的方形透明容器内,从某个位置放入适量的蚊子,等待几分钟后观察蚊子的分布.
#include <iostream>
#include <cstdlib>
#include <ctime>
#define random(a,b) (rand() % (b-a+1))+ a
using namespace std;
int main()
{
srand((int)time(0));
int x;
int a[20001] = {0};//哈希数组,用于记录蚊子的位置
int temp;
for(int i = 0;i < 1000;++i) {//循环1000次代表放进1000只蚊子
x = 0;//x坐标为0,代表蚊子从容器中间放入
for(int j = 0;j < 20000;++j) {//循环20000次代表蚊子运动20000次
temp = random(0,200) – 100;//随机蚊子运动一次的距离,在-100到100之间
x += temp;
while(x < -10000 || x > 10000) {//若蚊子运动超出边界,则重新随机,直到蚊子的位置不超出边界
x -= temp;
temp = random(0,200) – 100;
x += temp;
}
}
a[x+10000]++;//用哈希标记蚊子运动之后的x坐标
}
int b[80] = {0};//以下是把蚊子的位置按照每250一个区间分80个区间统计输出
for(int i = 0;i < 80;++i) {
for(int j = i * 250;j < (i+1) * 250;++j) {
if(a[j] != 0) {
b[i]++;
}
}
cout << i + 1 << ” ” << b[i] << endl;
}
/*for(int i = 0;i <= 20000;++i) {
cout << i + 1 << ” ” << a[i] << endl;
}*/
return 0;
}
当蚊子移动20000次的时候,得到的图像是不符合正态分布的:
当蚊子移动2000次的时候,得到的图像符合正态分布:
三、关于汉语发音和日文表意的一项发现
在这里,我想陈诉一项关于汉语发音和日文表意的一项发现。
我打开在线日文输入法,输入汉语拼音,得到平假名。然后把平假名输入到百度翻译里,得到新的汉语。我们会发现一些有趣的地方。比如“鼠”这个字,经过这样的一个转换以后,得到“德行”这样一个结果。大家都知道鼠是十二生肖里的第一位,而德行恰恰也是最重要的。然后“牛”这个字经过转换以后也很有意思,得到的是“丑八怪”这一结果,而众所周知,牛和十二地支配合起来就有丑牛这一说法。
由此可见,我可以提出一个假设,汉语发音和日文表意存在某种关联,这种关联可以通过以上的变换找到规律。
以下附上部分实验结果:
四、一项可以放入数学课本讲述的比例现象
不难发现,9和8,8和7,7和6等等,它们都相差一,但是它们各自占两数之和的比例却有微妙的变化。以下列出从1和2开始后20项的两个差1的数各占两数之和的比例:
1和2:0.333333 0.666667
2和3:0.4 0.6
3和4:0.428571 0.571429
4和5:0.444444 0.555556
5和6:0.454545 0.545455
6和7:0.461538 0.538462
7和8:0.466667 0.533333
8和9:0.470588 0.529412
9和10:0.473684 0.526316
10和11:0.47619 0.52381
11和12:0.478261 0.521739
12和13:0.48 0.52
13和14:0.481481 0.518519
14和15:0.482759 0.517241
15和16:0.483871 0.516129
16和17:0.484848 0.515152
17和18:0.485714 0.514286
18和19:0.486486 0.513514
19和20:0.487179 0.512821
不难发现,当两个数字越大的时候,比较小的那个数占两数之和的比例就越大,而较大的那个数占两数之和的比例就越小,两者都往百分之50靠近。
那么这个比例现象能给学生带来怎么样的启发呢?我们知道,圆周率可以用355/113这个分数表示,而在这里阐述的比例现象可以让学生更好地理解圆周率为什么可以用355/113这个分数表示。甚至到了大学,学习极限,我相信学生们学习过这个比例现象以后,能更好地理解极限。
五、借助C++探究素数的分布
这里使用的区间是36,144,576,2304,9216,36864,147456,589824,2359296,9437184。至于这个区间是怎么得到的,感兴趣的同鞋可前往(https://www.cnblogs.com/chanji/p/12808117.html)观看。
首先附上程序:
#include <iostream> #include <cmath> using namespace std; int isPrime(int n); const int n = 9437184;//左区间 const int m = 37748736;//右区间 int main() { int count = 0; for(int i = n;i <= m;++i) { if(isPrime(i)) { ++count; } } cout << count << endl; return 0; } int isPrime(int n) //判断一个数是否为素数的函数 { if(n < 2) return false; for(int i = 2; i <= sqrt(n); i++) { if((n % i) == 0) // 如果能被除了1和它本身的数整除,就不是素数 return false; } return true; // 是素数 }
得到的结果是:23,71,237,800,2766,9723,34703,125174,456172。
发现得到的点是可以用指数拟合的。
六、关于霍奇猜想的想法
霍奇猜想用通俗的话说,就是再好再复杂的一座宫殿,都可以由一堆积木垒成。然而克莱因瓶不能在三维空间中存在。是否可以认为霍奇猜想在三维空间中是错误的呢?
七、关于圆周率的规律
本人提供一种探究圆周率规律的方法,如下:这里我们把圆周率按54长度和62长度依次交替划分,分别求出分布在长度之内的和。在小数点后1000位的圆周率中,54长度的和分别为259、219、235、212、257、220、231和202,不难发现发现它们都是先降后升再降等等,如此反复。由此,我在这里猜想:区间选得恰当,圆周率中的数在区间中的和就能呈现出规律。
不知道这是否能用来证明p=np问题呢?
八、新发现——同花顺数
这里介绍一下在处理单据途中发现了一个有趣的现象,15×23=345,345就像同花顺一样,我们在这里叫它们同花顺数,然后15和23是互质的。我在想其它类似的数是不是都是这样呢?让我们来看看:
12=3×4 23=1×23 34=2×17 45=5×9 56=7×8 67=1×67 78=6×13 89=1×89 123=3×41 234=18×13 345=15×23
456=24×19 567=81×7 678=2x3x113 789=3×263 1234=2×617 2345=5x7x67 3456=2^7*3^3 4567=1×4567
5678=2x17x167 6789=3x31x73
很意外,在列的同花顺数都能表示为两个互质的数的乘积。
九、关于日本倒核废水到海水中的解决办法
我认为让日本人全部迁移出日本岛,比让他们胡乱地把核废水倒入太平洋中的好。
十、关于一种叫“记忆矢量”的概念及应用畅想
这里提出一种叫“记忆矢量”的概念。试想一下,一辆车开始行动,但是车后面的东西是不会懂得,在没有力的牵拉的情况下。也就是说在矢量的世界里,有的矢量在改变方向之后就立刻改变回原来的状态了,这种情况就和记忆金属受热后变回原来的的样子是类似的,因此我们称这种矢量为“记忆矢量”。
关于畅想,如果我们像收集暗物质一样,能收集矢量,然后再把它释放,这样炮弹能射得更远,屋子会淋不到雨,地震也能更好地抗衡了。可谓是一次质变,当然前提是收集得到的话。
十一、关于观察矢量作用的实验
这里提供一个观察矢量作用的实验:
一个烧杯放在小滑板上(这里小滑板的目的是减少阻力),然后烧杯装不同的液体。在烧杯上方施加向前的矢量,如果车向前动了,说明它受到这个矢量的影响。这里杯子装不同的液体是为了测试哪种溶液更容易受到矢量的影响,为之后的研究铺平道路。
十二、关于一种矢量引擎的畅想
这里提出一个关于一种矢量引擎的畅想:
圆柱上半部分装容易受矢量影响的介质,下半部分装不易受矢量影响的介质,然后外面有一圈东西在转。这样整个装置会朝一个方向运动,因为圆柱上半部分会得到一个向前运动的矢量,而轮子转过去之后却没有足够大的矢量抵消。
十三、哥德巴赫当时是如何想的——用大数去除
根据“流思想”,我想到哥德巴赫活跃于18世纪,哥德巴赫肯定是看课外书的,通过调查,我觉得他极有可能看过《鲁滨逊漂流记》的英文版和《波斯人信札》的法语版。我猜测在认真抄写完这两本书之后,或许可以知道哥德巴赫当时是怎么想到哥德巴赫猜想的。我买完这两本书,坐在椅子上沉思了一会儿,脑子里突然冒出一个答案——用大数去除。哥德巴赫或许粗略地想了一下用大数除两边,不就相等了。
十四、关于碱基病毒和物种起源
在疫情期间,本人在想,最致命的病毒会是什么呢?我想答案是碱基病毒。我们假设碱基病毒能进入到细胞内,插入到RNA或者DNA中。然后它可以与任意的碱基匹配,这样物种就会变成新的物种了,或者死掉。
换个角度来讲,碱基病毒也可能导致了物种起源。假设一开始地球上出现了细胞和碱基病毒,然后碱基病毒进入到细胞当中,那么这样就造成了物种起源,因为一开始的问题,往往就不会被认为是问题。
十五、一个经济学问题
本人用某鱼的时候发现了一个有趣的经济学现象,如下:
当条件是一口气全都把东西买下来时,曝光度比当条件是每次随机买一点时的曝光度高许多。
那么为什么会这样呢?我不知道。
十六、发现孪生素数的一项规律
本人发现了孪生素数的一项规律,如下:
我们通过从1开始递增的自然数列除以素数数列,得到一个结果。不难看出,从(11,13)开始的孪生素数对,它们的结果都是后一个数比前一个数大,即13对应的0.46大于5对应的0.45,而一般情况下是越往下越递减的。
十七、从1开始的自然数都符合的一个规律
有个好像所有数都适合的规律,把数字看成是年份,然后根据生肖赋值,比如鼠年为1,牛年为2。比如公元1年,鸡年,赋值10,用公元1年的1和10做差得绝对值,答案为9。我发现所有的答案都会落到0,3,6,9这四个数中。
十八、语言与物种起源
以下,我将介绍语言与物种起源的联系的证据:
1、首先我画了一个我想象中的图形,如下;
2、我起了个名字叫“星星的角斗士”;
3、“星星的角斗士”的拼音是xingxingdejiaodoushi,把拼音转化成平假名是さにみきさにみきしいまにちらしらなとくに,然后把平假名翻译过来是“特别是对竹荚鱼非常敏感”;
4、“星星的角斗士”的笔画数是40;
5、竹荚鱼的百科里说竹荚鱼的鳃耙13~16+36~40,这里就重复出现了数字40。
结论:本人认为,这就是中文和日文合作得到的一个语言与进化相联系的很好的例子。
十九、一个像薛定谔的猫一样的问题(中秋节快乐!~)
我突然想到一种现象。某作家小说的目录首字母是随机的,并且该作家完全按照随机的首字母想出题目并且完成了写作,这之后,该作家的小说的首字母就是那样的。这些都是为真的,有点像展开版本的薛定谔的猫。也就是说,如果我们能找到时间,然后知道某样东西未来会如何发展,如果我们能做到抽取时间的话,那么我们就能得到货真价实的来自未来的东西!比较简单也比较安全的例子是在一个封闭的工厂,我们知道一架飞机会在这里完成,那么我们抽取工厂的时间,我们能得到一架飞机。
二十、关于“山无棱,天地合,乃敢与君绝”的数学表达
本人发现20017002是“山无棱,天地合,乃敢与君绝”的数学表示。为什么呢?首先,从形上看,1和7是咬合的,然后头尾是回环的。其次,从性质上看,20017002可分解为2x3x3336167,取3336167,3336167是第239293个素数,239293是第21165个素数,21165分解成3x5x17x83,取83,83是第23个素数,23是第9个素数。得到结果9,长长久久。
另外这里的变换是如果一个数能分解,则取分解后最大的素数,遇到素数,则取素数是第几个素数,如此反复,知道数的大小降为想要的范围。
二十一、霍奇猜想是错误的
长话短说,我认为霍奇猜想是错误的,因为有个反例,就是太阳。我们看到太阳从东边升起、西边落下,可是实际上太阳并没有升起,也没有落下。而且我们看到的太阳都是很久以前的,太阳也不长这样。
二十二、关于人造蝴蝶和海岸线建墙
本人想到如果在海岸线放置人造蝴蝶的话,后果将不堪设想,为了防止这招,我建议在海岸线建墙,墙可以设计为可伸缩的,这样就不失人权了。
二十三、关于特氟龙的一些看法
众所周知特氟龙(聚四氟乙烯)是一种具有耐热性、化学惰性和能在-240摄氏度下保持柔韧性的塑料,在太空飞行中非常有用。它还有一个特征是没有什么能黏住它,于是被制成不粘锅的图层。它还被用于制造透气的衣服,让水蒸发,防止液体渗入。
看到这么多的用途以后,我意识到正是特氟龙阻碍了社会的进步。非化学系出身的我讲不了太多的道理,但是由我开发的一个方法印证了我的想法。特氟龙的拼音是tefulong,转化成平假名是かいはなりらみき,翻译过来是海市蜃楼,再来看看它的本名聚四氟乙烯,拼音是jusifuyixi,转化成平假名是まなとにはなんにさに,翻译过来是不切实际。
二十四、关于光和磷(冬至快乐)
本人在这里提出一个观点:光是由磷原子构成的。
为什么这么说呢?首先,有个实验引起了我的注意:科学家通过三层磷原子,成功控制光。有句话说得好:“相似相溶”,即使光不是由磷原子构成的,磷原子也具备类似光粒子的性质。于是我想到了磷化现象,这是一种化学与电化学反应形成磷酸盐化学转化膜的过程。在我看来,这与光电效应类似。
我觉得我们可以做一个实验,把一块非磷的单质一半裸露,一半拿黑胶带缠绕,放到真空无菌的容器中,然后拿日光灯去照射它,一段时间后,看是否检测到磷,实验的原理就是熵增。
二十五、关于p=np和其它的一些看法
首先来谈谈p=np吧。是这样的,我认为可以根据是否回到过去来判断p=np是否正确。如果可以回到过去的话,那么p=np,因为人是有记忆的,事情一次没做好,再回到过去,不就能做好了吗?这样p=np是显然的。反之,如果不能回到过去,那么我认为这两个将不等,因为会存在没能解决的问题。当然如果可以回到一个镜像的过去的话,我认为p=np。比如运用“层流”原理,制造一个过去的镜像,这样我认为p=np。
接下来我提一下关于7大猜想的一些看法,当然您可以当作笑话听,如下:
1、P=NP:0——1(看假面骑士零一5次就能证明)
2、霍奇猜想:说的是太阳是错误的
3、庞加莱猜想:与拿到游戏王世界赛冠军是一个难度的(可派数学尖子生去试)
4、黎曼假设:说的是大自然都有光(看泽塔奥特曼1次就能证明)
5、杨-米尔斯存在性和质量缺口:小白兔追乌龟(不可能被证明)
6、纳卫尔-斯托可方程的存在性与光滑性:说的是大海的波浪永远不重复(看假面骑士圣刃1次就能证明)
7、BSD猜想:(看假面骑士古迦15次就能证明)
(这里是有顺序的,先6再1再4后7)
二十六、可能是证明黎曼猜想的关键性一步
是这样的,先放图吧:
我构造了一个变换,一个数如果可以因式分解,就分解然后取最大的素数因数作为下一个数,如果是素数就取是第几个素数作为下一个数,如此重复,直到数小于等于10。
然后我取前1000个,把变换结果是9的数和19求余放在围棋棋盘上,y坐标是序号,x坐标是变换前的数。发现所有的棋子都落在图中的这两条线上。
直觉告诉我这是证明黎曼猜想的关键一步。
附上代码:
#include <iostream>
#include <cmath>
#include <fstream>
using namespace std;
/* run this program using the console pauser or add your own getch, system(“pause”) or input loop *boo*/
bool IsPrime(int n)
{
if(n<2)
return false;
for (int i=2;i*i<=n;i++)
{
if(n % i == 0)
return false;
}
return true;
}
int Factorization(int n) {
int max = 1;
for(int i = 2;i < n;++i) {
if(n % i == 0) {
if(i > max && IsPrime(i)) max = i;
n = n / i;
}
if(IsPrime(n) || n == 1){
if(n > max) max = n;
break;
}
}
return max;
}
/*int Factorization(int n) {
int max = 1;
for(int i = 2;i < n;++i) {
if(IsPrime(i) && !IsPrime(n) && n % i == 0) {
if(i > max) max = i;
n = n / i;
}
if(IsPrime(n)){
if(n > max) max = n;
break;
}
}
return max;
}*/
int main(int argc, char** argv) {
int count = 0;
int ask = 156640;
int temp;
ofstream fout;
fout.open(“data2.txt”);
for(int ask = 11, j = 1;ask <= 1000;++ask,++j) {
fout << j%19 << ” “;
temp = ask;
cout << temp << ” “;
fout << temp%19 << ” “;
while(true) {
if(IsPrime(temp)) {
count = 0;
for(int i = 2;i <= temp;++i) {
if(IsPrime(i)) ++count;
}
temp = count;
cout << “prime ” << temp << endl;
}
else {
temp = Factorization(temp);
cout << “Factorization ” << temp << endl;
}
if(temp <= 10) break;
}
cout << temp << endl;
fout << temp << endl;
}
fout.close();
return 0;
}
二十七、人造无限不循环小数与圆周率进行比较
这里构造一个变换一个数如果可以因式分解,就分解然后取最大的素数因数作为下一个数,如果是素数就取是第几个素数作为下一个数,如此重复,直到数小于等于10。
然后把前1000的变换结果当成是无限不循环小数(10则变成10)(未经过证明)。然后取前100位和前200位两个两个求和,得出结果,如图:
这里与圆周率的1000位,取然后取前100位和前200位两个两个求和的结果做对比:
发现半径八两,或许这是人造无限不循环小数的一个不错的例子了。
附上求前1000的代码:
#include <iostream> #include <cmath> #include <fstream> using namespace std; /* run this program using the console pauser or add your own getch, system("pause") or input loop *boo*/ bool IsPrime(int n) { if(n<2) return false; for (int i=2;i*i<=n;i++) { if(n % i == 0) return false; } return true; } int Factorization(int n) { int max = 1; for(int i = 2;i < n;++i) { if(n % i == 0) { if(i > max && IsPrime(i)) max = i; n = n / i; } if(IsPrime(n) || n == 1){ if(n > max) max = n; break; } } return max; } /*int Factorization(int n) { int max = 1; for(int i = 2;i < n;++i) { if(IsPrime(i) && !IsPrime(n) && n % i == 0) { if(i > max) max = i; n = n / i; } if(IsPrime(n)){ if(n > max) max = n; break; } } return max; }*/ int main(int argc, char** argv) { int count = 0; int ask = 156640; int temp; ofstream fout; fout.open("data2.txt"); for(int ask = 11, j = 1;ask <= 1000;++ask,++j) { //fout << j%19 << " "; temp = ask; cout << temp << " "; //fout << temp%19 << " "; while(true) { if(IsPrime(temp)) { count = 0; for(int i = 2;i <= temp;++i) { if(IsPrime(i)) ++count; } temp = count; cout << "prime " << temp << endl; } else { temp = Factorization(temp); cout << "Factorization " << temp << endl; } if(temp <= 10) break; } cout << temp << endl; fout << temp << endl; } fout.close(); return 0; }
二十八、可能是破解BSD猜想的有力工具
这里把数字看成是年份,然后根据生肖赋值。这里把鼠年赋值为1,牛年赋值为2,虎年赋值为3,兔年赋值为4,龙年赋值为5,蛇年赋值为6,马年赋值为7,羊年赋值为8,猴年赋值为9,鸡年赋值为10,狗年赋值为11,猪年赋值为12。比如数字1,我们把它看成是公元1年,公元1年是鸡年,赋值10,用1和10做差得绝对值,答案为9。
所有的答案都会落到0,3,6,9这四个数中(如果数字的值大于12,做差的时候则把数字的每一位相加,直到数字的大小归到1至12之中,再与原数字对应的生效所赋的值进行做差)。
个人感觉如果深入了解了这一现象的原因,对代数系统是很有帮助的,乃至于对BSD猜想的证明也有帮助。
二十九、关于纳卫尔-斯托可方程
数学家和物理学家深信,无论是微风还是湍流,都可以通过理解纳卫尔-斯托可方程的解,来对它们进行解释和预言。
然而,我本人发现了一个有趣的语法现象,举个例子,纳卫尔-斯托可方程的拼音是naweier-situokefangcheng,然后把拼音转换成平假名みちていにいすほとにかならのいはちみきそくいみき,翻译过来是路上坐在椅子旁的是地图,说到地图,就想到冒险,说到冒险,就想起微风和湍流。这种方法总结起来就是中文的拼音转换成平假名,平假名转换成中文解释,虽然简单,却很有效。
我在想,这何尝不是一种纳卫尔-斯托可方程呢?
三十、关于6=4这条快速通道
首先,摆出几个现象:
1、20√341=369.323706252
2、20√342=369.864840178
3、“7是钥匙”,把这结论改写成7shiyaoshi和qishiyaoshi,两个转换成平假名,分别是やとくにんちらとくに和たにとくにんちらとくに,用百度翻译翻译过来都是“特别是”。
这里我们从1和2中提取6月25日和4月8日这两个公式。然后根据3的这条线索,我们可以得出6=4,当然不直接等于,而是在一些变换上6的结果会等于4的结果。比如:
这里把数字看成是年份,然后根据生肖赋值。这里把鼠年赋值为1,牛年赋值为2,虎年赋值为3,兔年赋值为4,龙年赋值为5,蛇年赋值为6,马年赋值为7,羊年赋值为8,猴年赋值为9,鸡年赋值为10,狗年赋值为11,猪年赋值为12。比如数字1,我们把它看成是公元1年,公元1年是鸡年,赋值10,用1和10做差得绝对值,答案为9。
所有的答案都会落到0,3,6,9这四个数中(如果数字的值大于12,做差的时候则把数字的每一位相加,直到数字的大小归到1至12之中,再与原数字对应的生效所赋的值进行做差)。
你会发现这里6的结果和4的结果永远是相等的。
可能你觉得这不够意思,我们玩玩化学的元素周期表:
1、原子序数4的铍和原子序数是6的碳有化合物碳化铍(Be2C);
2、原子序数是14的硅和原子序数是16的硫有化合物硫化硅(SiS2);
3、原子序数是24的铬和原子序数是26的铁有铬铁矿;
4、甚至是原子序数是34的硒和原子序数是36的氪在人体内都有化合物。
不多说了,同志们,哪天你们合成了新物质,拿了诺贝尔化学奖,回头关注一下我呗。