博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
正则实现数学运算
阅读量:6940 次
发布时间:2019-06-27

本文共 1264 字,大约阅读时间需要 4 分钟。

带你认识一下正则的强大!!!

function sum(n, m) {  n = Array(n+1).join('#')  m = Array(m+1).join('#')  return n.replace(/$/, m).length}sum(3, 2)// => 5复制代码

function diff(n, m) {  n = Array(n+1).join('#')  m = Array(m+1).join('#')  return n.replace(m, '').length}diff(3, 2)// => 1复制代码

function product(n, m) {  n = Array(n+1).join('#')  m = Array(m+1).join('#')  return n.replace(/./g, m).length}product(3, 2)// => 6复制代码

function division(n, m) {  n = Array(n+1).join('#')  m = Array(m+1).join('#')  return n.replace(new RegExp(m, 'g'),'#').length}division(6, 2)// => 3复制代码

function remainder(n, m) {  n = Array(n+1).join('#')  m = Array(m+1).join('#')  return n.replace(new RegExp(m, 'g'),'').length}remainder(7, 2)// => 1复制代码

平方

function square(n) {  n = Array(n+1).join('#')  return n.replace(/./g, n).length}square(7)// => 49复制代码

奇偶性

function isOdd(n) {  n = Array(n+1).join('#')  return /^.(.{2})+$/.test(n)}isOdd(7)// => true复制代码

素数

function isPrime(n) {  n = Array(n+1).join('#')  return /^(?!(.{2,})\1+$)(?=.{2,}$)/.test(n)}isPrime(11)// => true复制代码

最大公约数

function greatestCommonDivisor(n, m) {  n = Array( n + 1).join('#')  m = Array( m + 1).join('#')   return (`${n}-${m}`).match(/^(.+)\1*-\1+$/)[1].length}greatestCommonDivisor(12, 8)// => 4复制代码

本文完。

欢迎阅读我的。

转载地址:http://nrinl.baihongyu.com/

你可能感兴趣的文章
PostgreSQL远端访问
查看>>
家庭里如何搭建一个互联网可访问的服务器
查看>>
eclipse与SVN 结合(删除SVN中已经上传的问题)
查看>>
webBrowser 模拟登录
查看>>
t4 template multi file output
查看>>
深入理解Fsync
查看>>
剑道基础 - 冈宪次郎
查看>>
Leading and Trailing(数论/n^k的前三位)题解
查看>>
我的php笔记(一)
查看>>
vue.js学习之better-scroll封装的轮播图初始化失败
查看>>
去掉xcode编译warning:ld: warning: directory not found for option '-L
查看>>
杭电1702--ACboy needs your help again!
查看>>
web前端开发分享-css,js进阶篇
查看>>
安大校赛/异或运算一题。
查看>>
ANT build.xml文件详解
查看>>
MVC和观察者模式
查看>>
python 基本的序列和映射规则
查看>>
强制回收和IDisposable.Dispose方法
查看>>
mybatis plus条件构造器
查看>>
反射基础
查看>>