Week 2 化学(同分异构

2023-10-21 11:30
文章标签 化学 week 同分异构

本文主要是介绍Week 2 化学(同分异构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 题目描述
    • 样例
    • 思路
    • 总结
    • 代码

题目描述

6个原子、5个化学键的烷烃一共有5中同分异构体,通过判断输入的每两个相邻的原子,输出该烷烃对应的同分异构体的名称。
在这里插入图片描述

样例

样例输入

2
1 2
2 3
3 4
4 5
5 6
1 4
2 3
3 4
4 5
5 6

样例输出

n-hexane
3-methylpentane

思路

判断同分异构体的名称主要通过有n(n=1,2,3,4)个键的原子个数:
n-hexane有4个2键的原子和2个1键的原子;
2,2-dimethylbutane有1个4键的原子;
2,3-dimethylbutane有2个3键原子和4个1键原子;
3-methylpentane和2-methylpentane都有1个3键的原子、2个2键的原子以及3个1键的原子;
此时需要对这两种同分异构体进一步判断:判断与3键相连的原子是2个2键原子还是2个1键原子。

其中index[]记录每个序号的原子的键数;index1[]记录键数为1、2、3、4的原子个数。

总结

在区分3-methylpentane和2-methylpentane两种同分异构体时,也可以判断两个2键的原子是否相连(总的来说就是拿到题感觉有点骇人,画一画就发现没那么复杂

代码

#include <iostream>
using namespace std;int main()
{int t;cin>>t;for(int i=0;i<t;i++){int index[7]; //记录每个原子连接的原子数 for(int j=0;j<7;j++){index[j]=0;} int a[7],b[7];//记录输入的数for(int j=1;j<=5;j++){cin>>a[j]>>b[j];index[a[j]]++;index[b[j]]++;}int index1[5];//记录连接数为1、2、3、4的原子的个数 for(int p=0;p<5;p++){index1[p]=0;}for(int k=1;k<=6;k++){if(index[k]==1){index1[1]++;}if(index[k]==2){index1[2]++;}if(index[k]==3){index1[3]++;}if(index[k]==4){index1[4]++;}	}if(index1[4]==1){cout<<"2,2-dimethylbutane"<<endl;}else if(index1[2]==4&&index1[1]==2){cout<<"n-hexane"<<endl;}else if(index1[3]==2&&index1[1]==4){cout<<"2,3-dimethylbutane"<<endl;}else if(index1[3]==1&&index1[2]==2&&index1[1]==3){int flag=0;for(int p=1;p<=5;p++)//判断3连接的原子连接的是两个2连接的原子还是两个1连接的原子 {if(index[a[p]]==3){if(index[b[p]]==2)flag++;}if(index[b[p]]==3){if(index[a[p]]==2)flag++;}}if(flag==1)cout<<"2-methylpentane"<<endl;if(flag==2)cout<<"3-methylpentane"<<endl;}}
}

这篇关于Week 2 化学(同分异构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/254094

相关文章

天然药物化学史话:“四大光谱”在天然产物结构鉴定中的应用-文献精读46

天然药物化学史话:“四大光谱”在天然产物结构鉴定中的应用,天然产物化学及其生物合成必备基础知识~ 摘要 天然产物化学研究在药物研发中起着非常重要的作用,结构研究又是天然产物化学研究中最重要的工作之一。在天然药物化学史话系列文章的基础上,对在天然产物结构研究中起绝对主导作用的“四大光谱”分析技术,即红外光谱、紫外光谱、质谱、核磁共振波谱在天然产物结构鉴定中的应用历史进行回顾与总结,并对其发展

Scifinder无法访问?这些化学数据库值得一试!

大家都知道购买Scifinder的价格是很高的,有些学校购买了账号后也只能支持一两台电脑同时登陆查询,那我们遇到登录不上Scifinder但又着急查询化合物或化学反应时,该怎么办呢?今天小编就带大家一起看看可替代Scifinder的有机化学网站吧!化学人赶紧收藏起来吧! PubChem 网址:PubChem 有机小分子生物活性数据,是一个生环化材中应用分子的数据模型库,它是由美国国家健康研究

【Rust光年纪】化学计算不完全指南:Rust语言库全面解析

Rust语言化学计算库大揭秘:选择最适合你的工具 前言 随着Rust语言的发展,越来越多的领域开始涌现出专门的库和工具。化学计算作为一个重要的应用领域,也在Rust社区中得到了广泛关注。本文将介绍几个用于Rust语言的化学计算库,分别从其简介、核心功能、使用场景、安装与配置以及API概览等方面进行详细的阐述,帮助读者更好地了解和选择适合自己需求的工具。 欢迎订阅专栏:Rust光年纪

MATH36022 Numerical Analysis 2 Approximation of Functions – Week 3 Exercises

Show that the Chebyshev polynomials are orthogonal on ( − 1 , 1 ) (−1, 1) (−1,1) with respect to the weight function ( 1 − x 2 ) − 1 / 2 (1 − x^2)^{−1/2} (1−x2)−1/2. Ans: T n ( x ) = cos ⁡ ( n arcc

MATH36022 Numerical Analysis 2 Approximation of Functions – Week 2 Exercises

Attempt these exercises in advance of the tutorial in Week 3 Find the best L ∞ L_\infin L∞​ approximation to f ( x ) = x n + 1 + ∑ k = 0 n a k x k f (x) = x^{n+1} + \sum_{k=0}^na_kx^k f(x)=xn+1+∑k=

【化学方程式配平 / 3】

题目 代码 #include <bits/stdc++.h>using namespace std;const double eps = 1e-8;unordered_map<string, int> e;int eidx, midx; //eidx 元素数, midx 物质数double matrix[45][45];int q;bool check_alpha

【Hello Python World】Week 2(1):列表简介

1 姓名3-2 问候语3-3 自己的列表3-4 嘉宾名单3-5 修改嘉宾名单3-6 添加嘉宾你刚找到了3-7 缩减名单3-8 放眼世界3-9 晚餐嘉宾3-10 尝试使用各个函数3-11 有意引发错误 第三章主要是介绍Python中的list,比较简单 3.1 姓名 将一些朋友的姓名存储在一个列表中,并将其命名为names 。依次访问该列表中的每个元素,从而将每个朋

【Hello Python World】Class Notes of Week 2

列表 (3.14 update) 1.数组下标错误会抛出异常(与C++不同)2.一个list里可以有不同的数据结构3.插入方法4.删除方法 第一种方法:pop(),有返回值第二种方法:del,没有返回值第三种方法:remove(),没有返回值,而且会抛出异常 5.操作方法 用sort()和sorted()从小到大排序翻转列表reverse()求长度len() 6.列表的数据处理 求和su

【Hello Python World】Week 1(1):探索 展望

什么是Python一些与学习Python有关的网站 wwwpythonorgwwwliaoxuefengcom廖雪峰老师的个人网站 对Python的展望 什么是Python Python的原型诞生于1989年圣诞节,著名的“龟叔”Guido van Rossum在当时为了打发无聊的圣诞假期,随手开发出这款语言。这个有点“无心插柳”的行为却给我们带来了这个简洁而强大工具。时

21—小结(Week)

一 、xutils的框架设计问题,他内部貌似采用的是线程池管理的,当线程池满的时候,其他的线程就会处于等待状态, 这时候如果界面的数据依赖网络请求结果的话,就会造成阻塞状态。 xutils的整个后台是基于ThreadPoolExecutor线程池来做的,该程序封装的线程池的最大连接数是10,所以每次new 一个httpUtils请求下载的时候,一个new 的请求对象最多download下