有机物的命名有一套完整的规则。以下是烃的部分命名规则:
- 甲烷到癸烷的名称分别为:
methane
ethane
propane
butane
pentane
hexane
heptane
octane
nonane
decane
。 - 烷基的名称是将对应烷烃词尾的
ane
替换为yl
。同理,烯烃替换成ane
,炔烃替换成yne
,烯基替换成enyl
,炔基替换成ynyl
。例如:乙基ethyl
,乙烯ethene
,乙炔ethyne
,乙烯基ethenyl
,乙炔基ethynyl
。 - 苯,萘,蒽,菲的名称分别为:
benzene
,naphthalene
,anthracene
,phenanthrene
。例如,甲基乙苯methylethylbenzene
,9-甲基菲9-methylphenanthrene
。 - “环”用
cyclo
开头,例如:环丙烷cyclopropane
, 环丁烷cyclobutane
。 - 标识取代基个数的“二 三 四 五 六”分别用
di
,tri
,tetra
,penta
,hexa
开头。例如:1-2-3-三甲苯1,2,3-trimethylbenzene
。
设计程序,输入有机物名称,输出其碳原子和氢原子个数。例:输入 2,3,5-trimethyl-4-propyloctane
,输出 14 30
。
保证有机物名称满足上述规则。保证字符串长度小于 64。
甲乙两人赌博,约定先赢满 n 局者可获得 2147483648 元赌金。已知每局两人输赢概率均为 0.5,且每局输赢独立。如今当甲已经赢
对于所有输入,保证
例:输入 4 2 1
,输出 1476395008
。
根据狭义相对论,若物质静止时质量 m,则其在速度 v 时的相对论质量为
动能公式为
设计程序,输入 m 和 v,输出其在速度 v 时的动能。
在 \frac{ 分子 }{ 分母 }
表示分数,可套用。如 \frac{1}{\frac{1}{2}}
表示
设计程序,输入只含分数且分子分母均为整数的
保证字符串长度小于 256。
例:输入 \frac{\frac{3}{4}}{\frac{5}{2}}
,输出 3 10
。
实现函数 char* replace(const char* s, const char* from, const char* to)
,将字符串 s 中所有出现的子串 from 替换为 to。返回的 char*
需用户自行释放。
实现 time_duration
结构体,并实现以下内容:
struct time_duration duration(time_t, time_t)
;time_t post(time_t, const struct time_duration *)
;time_t pre(time_t, cosnt struct time_duration *)
;time_duration
之间的加法和减法;time_duration
与int
之间的乘法;
某游戏抽卡机制如下:
- 每次抽卡分为 中 和 不中 两种情况;
- 中 和 不中 概率由计数器决定:初始时计数器重置为 1;若此次抽卡 中,则计数器重置为 1;若此次抽卡 不中,则计数器加 1;
- 当计数器的值小等于 73 时,本次抽卡中的概率为 0.6%;否则,概率为
$$0.6%+\frac{计数-73}{17}\times99.4%$$ - 卡分限定卡和常驻卡两种。当某次抽卡 中 时:若上次抽中的卡为常驻卡,则本次必定抽中限定卡;否则,有 50% 的概率抽中限定卡,50% 的概率抽中常驻卡。
设计程序,输入抽卡次数 m 和目标限定卡数量 n,输出抽到目标限定卡的概率。