最近化学学有机选修,讲羧酸的时候我想到一个问题:不考虑空间异构、能否稳定存在等问题,某高级饱和脂肪酸有多少种同分异构体?做为一名退役的OIer,我将它抽象为了另一个问题:含\(n\)个\(C\)的饱和链烃基有多少同分异构体?在我废寝忘食(不写作业)研究了\(n(n\geq 20)\)天,经历了无数失败后,我终于写出了下面的代码。目前计算前\(1000\)个结果的时间小于\(1s\)(应该没有人丧心病狂到想知道一千烷基的同分异构体数量吧……),具体原理抽空放上来qwq

f = []
g = []
f.append(1)
g.append(1)
print("Input limitition:")
len = int(input())
print("Initiating...")
for i in range(1, len):
if ((i - 1) % 3 == 0):
f.append(2 * f[(i - 1) // 3])
else:
f.append(0)
for j in range(0, i, 2):
f[i] = f[i] + 3 * f[j // 2] * f[i - 1 - j]
for j in range(0, i):
f[i] = f[i] + g[j] * f[i - 1 - j]
f[i] = f[i] // 6
g.append(0)
for j in range(0, i + 1):
g[i] = g[i] + f[j] * f[i - j]
print("Initiated")
while 1:#什么?你想退出?你都会用Python了你不会退出?
print("输入碳原子个数:")
n = int(input())
print(f[n])

最后之作-Last Order(bushi的更多相关文章

  1. Construct a tree from Inorder and Level order traversals

    Given inorder and level-order traversals of a Binary Tree, construct the Binary Tree. Following is a ...

  2. hive:(group by, having;order by)的使用;group by+多个字段,以及wiki说的group by两种使用限制验证

    hive> select * from app_data_stats_historical where os='1' group by dt limit 100; 出现结果如下: 2014-01 ...

  3. ASP.NET MVC 5 實作 GridView 分頁

    本文用 ASP.NET MVC 5 實作一個 GridView,功能包括: 分頁(paging).關鍵字過濾(filtering).排序(sorting).AJAX 非同步執行,外觀上亦支援 Resp ...

  4. MySQL 使用自增ID主键和UUID 作为主键的优劣比较详细过程(从百万到千万表记录测试)

    测试缘由 一个开发同事做了一个框架,里面主键是uuid,我跟他建议说mysql不要用uuid用自增主键,自增主键效率高,他说不一定高,我说innodb的索引特性导致了自增id做主键是效率最好的,为了拿 ...

  5. 使用有序GUID:提升其在各数据库中作为主键时的性能

    原文出处:https://www.codeproject.com/articles/388157/guids-as-fast-primary-keys-under-multiple-database  ...

  6. SQL Server中order by的使用,我们来填坑

    看似很简单是不是? 单列排序,没有任何问题 select * from tableA where age>1 order by age /*后面可以跟上ASC.DESC,默认是ASC升序排列*/ ...

  7. python---方法解析顺序MRO(Method Resolution Order)<以及解决类中super方法>

    MRO了解: 对于支持继承的编程语言来说,其方法(属性)可能定义在当前类,也可能来自于基类,所以在方法调用时就需要对当前类和基类进行搜索以确定方法所在的位置.而搜索的顺序就是所谓的「方法解析顺序」(M ...

  8. misaka and last order SCU - 4489 (筛法的灵活应用)

    Time Limit: 1000 MS Memory Limit: 131072 K Description Misaka Mikoto is a main character of the Anim ...

  9. UTF-8文件的Unicode签名BOM(Byte Order Mark)问题记录(EF BB BF)

    背景 楼主测试的批量发送信息功能上线之后,后台发现存在少量的ERROR日志,日志内容为手机号码格式不正确. 此前测试过程中没有出现过此类问题,从运营人员拿到的发送列表的TXT,号码是符合规则的,且格式 ...

随机推荐

  1. linux : 新服务器部署项目要做的事

    环境:阿里云服务器两台,一台web,一台db,系统centos7. 用户用外网访问web server ,web server 再去访问db server. 1 阿里云控制台进入系统2 SSH进入系统 ...

  2. Python 中的面向对象编程

    面向对象编程(Object-oriented programming, OOP)是一种基于对象概念的编程范式,可包含属性(attribute)形式的数据以及方法(method)形式的代码.另一种对 O ...

  3. UVa 548 Tree(中序遍历+后序遍历)

    给一棵点带权(权值各不相同,都是小于10000的正整数)的二叉树的中序和后序遍历,找一个叶子使得它到根的路径上的权和最小.如果有多解,该叶子本身的权应尽量小.输入中每两行表示一棵树,其中第一行为中序遍 ...

  4. 字符编码笔记:ASCII,Unicode 和 UTF-8个人理解

    一.ASCII 码 我们知道,计算机内部,所有信息最终都是一个二进制值.每一个二进制位(bit)有0和1两种状态,因此八个二进制位(字节(Byte )是计算机信息技术用于计量存储容量的一种计量单位,作 ...

  5. 分布式锁(2) ----- 基于redis的分布式锁

    分布式锁系列文章 分布式锁(1) ----- 介绍和基于数据库的分布式锁 分布式锁(2) ----- 基于redis的分布式锁 分布式锁(3) ----- 基于zookeeper的分布式锁 代码:ht ...

  6. linux中neovim+tmux安装与配置遇到的问题

    Neovim 安装与配置 安装 pip3 install neovim 之前安装过anaconda,默认安装python3和pip3 检查状态 :checkhealth 终端输入'nvim' 进入nv ...

  7. Flutter获取远程数据 刷新UI界面

    import 'package:flutter/material.dart'; import 'package:http/http.dart' as http; void main() => r ...

  8. string类型 C++

    (C++递归预习到了string类型,这个是处理字符串的一个非常好用的东西,在C里面没有.今天来学习一下) 顺便推荐一个很不错的网站:http://c.biancheng.net/view/400.h ...

  9. 美团Leaf——全局序列生成器

    Leaf的Github地址: https://github.com/Meituan-Dianping/Leaf Leaf美团技术团队博客地址: https://tech.meituan.com/201 ...

  10. angularjs脏检查

    angularjs实现了双向绑定,与vue的defineProperty不同,它的原理在于它的脏检查机制,以下做了一些总结: angular.js介绍 AngularJs是mvvm框架,它的组件是vm ...