前言:

  自古以来,数学家就被有关素数的问题所吸引,许多人都研究过确定整数是否素数的方法。检测一个数是否素数的一种方法就是找出它的因子;另外还有概率方法。
  算法只考虑在实践中的可靠性而不考虑在自然界的真理性表现出数学与工程的不同。这也使得概率方法可以在算法中应用。

阅读全文 »

Windows平台
我的环境:

tensorflow_gpu 1.9.0 + CUDA 9.0 + cuDNN 7.4.1(建议安装tensorflow_gpu 1.9.0,高版本的可能无法很好使用)

一、首先说一下安装顺序

(注意版本一定要匹配,不一定是最新的就能用)

1、安装tensorflow_gpu(注意tensorflow与python版本的匹配)

tensorflow的github仓库:https://github.com/tensorflow/tensorflow

2、根据tensorflow版本查询CUDA版本,安装CUDA

CUDA历史版本下载地址:https://developer.nvidia.com/cuda-toolkit-archive

3、根据CUDA版本查询cuDNN版本,安装cuDNN

cuDNN历史版本下载地址:https://developer.nvidia.com/rdp/cudnn-archive

对应版本查询链接:https://tensorflow.google.cn/install/source_windows

阅读全文 »

关于一个二进制数 1111000 除以 1101,模 2 除法的商为 1011,余数为 111.这个结果不同于十进制除法。所以特记下。

方法一:

具体步骤如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#第一步
1111000
1101
0010000 ----余数,商为1,只要第一位非0商就是1
#第二步,每步移一位,当起始位为0时,除以0;为1时除以除数。
010000
0000
010000 ----余数,商为0,只要第一位是0商就是0
#第三步
10000
1101
01010 -----余数,商为1,这里的余数你猜出,其实就是对应位异或
#第四步
1010
1101
0111 ------余数,商为1,如果位数比除数还小,不再继续运算
#最终余数为111,商为1011
阅读全文 »

题目描述:

我们今日大多数时候习惯于使用阿拉伯数字,但是同时有时候我们还会使用一种数字——罗马数字。传统罗马数字用单个字母表示特定的数值,I 表示 1,V 表示 5,X 表示 10,L 表示 50,C 表示 100,D 表示 500,M 表示 1000。

最多 3 个同样的 I,X,C 或 M 可以连续出现表示一个数字,V,L,D 则不在一个数字中连续出现。例如 II 表示 2,CCC 表示 300。但是要注意,IIII 就不能表示 4。有时,一个可表示为 10n 的数出现在一个比它大 1 级或 2 级的数前(I 在 V 或 X 前面,X 在 L 或 C 前面,等等),数值等于后面的那个数减去前面的那个数,例如 IV 表示 4,XL 表示 40 等(像 XD, IC, 和 XM 这样的表达是非法的,因为前面的数比后面的数小太多)。

除了“CCLXVIII = 100+100+50+10+5+1+1+1 = 268”,一般来说,字符以递减的顺序接连出现。

阅读全文 »

题目描述:

输入一个自然数 N,我们总可以得到一些满足“1≤b≤N,0≤a/b≤1”条件的最简分数 a/b(分子和分母互质的分数),请找出所有满足条件的分数。
比方说,当 N=5 时,所有解为:
0/1 1/5 1/4 1/3 2/5 1/2 3/5 2/3 3/4 4/5 1/1
现在,你需要对于一个给定的自然数 N,1≤N≤160,请编程按分数值递增的顺序输出所有解。

注:0 和任意自然数的最大公约数就是那个自然数、互质指最大公约数等于 1 的两个自然数。

阅读全文 »