mj

email-templates + mjml 发送邮件

▼魔方 西西 提交于 2020-01-08 15:24:40
mjml 是一个很不错的响应式邮件html 内容标签库,email-templates 是一个灵活强大的邮件发送框架,两者集成起来我们 可以设计灵活强大的邮件发送系统,以下是一个简单的集成使用,实际使用还有好多地方需要完善 环境准备 项目结构 ├── README.md ├── app.js ├── package.json ├── polyfill.js ├── templates │ └── mail.mjml 代码说明 package.json 项目的依赖以及npm script { "name": "email-template-learning", "version": "1.0.0", "main": "app.js", "license": "MIT", "dependencies": { "email-templates": "^6.1.1", "mjml": "^4.5.1", "pug": "^2.0.4" }, "scripts": { "app":"node app.js" } } polyfill.js js 字符串插值polyfill,主要解决mjml 对于变量的支持 String.prototype.interpolate = function(params) { const names = Object.keys(params); const

Dove 的疑惑

匿名 (未验证) 提交于 2019-12-03 00:09:02
中国新时代特色社会主义传承者的题解 显然这是一道数学题 我们可以 大力猜结论 用心推式子 显然如果不管限制,答案是 π Mi 我们发现肯定要减一个东西 显然两个数的答案可以合并,考虑只有两个数 1.若 Mi Mj 互质:   显然 { 0%Mj , 1%Mj ,2%Mj ... , (Mi-1)%Mj }={ 0 , 1 , 2 ... , Mj-1 }   答案为 Mi * Mj 2.若 Mi Mj 不互质   不妨令 Mi=ka Mj=kb (k>1)   我们把 {0-Mi-1} {0-Mj-1} 分别剁成 a ,b 块 ,每块大小严格为 k   什么时候不可以捏?因为 t%k=(t%Mi)%k y%k=(y%Mj)%k   所以当 t%k != y%k 时就寿终正寝了   所以每个 t ,y 在每个块中的位置必须一样   答案为 a * b * k 综上,这TM不就是 LCM(Mi,Mj)吗? Code: #include < bits / stdc ++. h > //math.cpp #define qwq printf ( "qwq\n" ); #define For ( i , a , b ) for ( register ll i = a ; i <= b ; i ++) #define ll long long using namespace std ;

Dove 的疑惑

前提是你 提交于 2019-11-30 04:15:50
中国新时代特色社会主义传承者的题解 显然这是一道数学题 我们可以 大力猜结论 用心推式子 显然如果不管限制,答案是 π Mi 我们发现肯定要减一个东西 显然两个数的答案可以合并,考虑只有两个数 1.若 Mi Mj 互质:   显然 { 0%Mj , 1%Mj ,2%Mj ... , (Mi-1)%Mj }={ 0 , 1 , 2 ... , Mj-1 }   答案为 Mi * Mj 2.若 Mi Mj 不互质   不妨令 Mi=ka Mj=kb (k>1)   我们把 {0-Mi-1} {0-Mj-1} 分别剁成 a ,b 块 ,每块大小严格为 k   什么时候不可以捏?因为 t%k=(t%Mi)%k y%k=(y%Mj)%k   所以当 t%k != y%k 时就寿终正寝了   所以每个 t ,y 在每个块中的位置必须一样   答案为 a * b * k 综上,这TM不就是 LCM(Mi,Mj)吗? Code: #include<bits/stdc++.h>//math.cpp #define qwq printf("qwq\n"); #define For(i,a,b) for(register ll i=a;i<=b;i++) #define ll long long using namespace std; const ll maxn=1e5+10; ll n,ans=1