2016 - 2024

感恩一路有你

extract提取返回结果中的内容 香蕉海绵蛋糕怎么做?

浏览量:1434 时间:2023-05-14 11:44:33 作者:采采

香蕉海绵蛋糕怎么做?

香蕉海绵蛋糕的做法

一:材料

2个香蕉,1/2cup玉米油,1/2cup炼乳,10个蛋,砂糖,塔塔粉白醋,半杯粘米粉,半杯面粉,盐。

二:工具

烤箱,量杯,橡皮刀

三:做法

1.先把香蕉压成泥,倒入1/2cup玉米油。

2.调和粉类,你不相当最精确,先倒半杯粘米粉,再倒中筋面粉至一杯,接着组建2/3tspbakingpowder,1/2tsp盐,混合均匀。

3.粉类倒入水1中搅拌均匀。接着一并加入1/2cup炼乳,先不用快速搅拌。

4.十个鸡蛋能分开蛋黄,蛋白。你记得容器要完全比较干燥无油。初学者这个可以把鸡蛋先打到1个小碗里,然后把用勺子舀出来蛋黄,蛋白直接进入打蛋白的盆里。

5.蛋黄糊加入vanillaextract搅拌均匀。随便是搅你不害怕。

6.蛋白中组建少许塔塔粉(creamwithtartar。也可以用白醋得用)和bakingpowder。初学者可以不用一只粗几头细的筷子,粗头挑2下塔塔粉,细头挑1点bakingpowder

7.预热烤箱到325F/165C.

8.打发蛋白。打到粗泡时加入到2/3的糖,打到细密泡泡时加入剩下的的糖。然后把打到盆倒扣也不可能掉下。

9.取1/3蛋白组建蛋黄糊中用橡皮刀拌均,要完全拌均匀。然后再倒又回到蛋白盆中用橡皮刀切拌拌匀后。然后把倒入烤盘。

10.325F/165C烤38~40分钟。先烤25~30分钟,可以闻到浓郁甜香味,看见表面颜色已经也很深了,在表面放三张铝箔(以防表面烤糊),接着再烤到38~40分钟。或是用牙签插看看,很干净那是熟透了了。也是可以晃了烤盘,表面会抖动的是没熟透后。毕竟有香蕉,这个蛋糕比较微润,不需要都很长时间烤的。

11火热出炉后晾网放凉后。(如果没有没已经熟透了晾网会掉了下来)倒盖时表面会缩有一点,缩成平的

四:小贴士

1.香蕉要熟到表面变黑,但里面应该白的。如果里面也变黑了,只能丢弃了。

2.容器要已经较干燥无油,有油有水滴都会使蛋白没能打发掉,因为鸡蛋要回到自己室温,冰箱怀中掏出的会凝结空气中的水汽。

整数的计算方法?

简单的方法,我们定义整数开平方为非负整数映射至非负整数的函数:可借用乘法线性搜寻或二分仔细搜索,我得到大而平方不达到的根。通过全部平方数(squarenumber)数列,我们还这个可以在线性搜寻中只用加法,而且两个已经平方数的差为奇数数列:uint32_tisqrt0(uint32_tn){uint32_tdelta3;for(uint32_tsquare1;squaren;delta2)squaredelta;returndelta/2-1;}而且问题是麻烦问下大整数的,我们要把大整数的位数()也考虑在内。线性查探要次迭代,每次迭代的加法需时间,共值。而二分仔细搜索最坏的结局情况需要次迭代,每次来的乘法需时间,共值。而一些数值方法(如牛顿迭代)只更适合计算近似值,而且当中也比较复杂除法。我们换一个思路,参考IntegerSquareRoots这篇文章,开根号可以不用的的长除法的计算出,在二进制中只必须用比较好和减法,32位无号整数的C基于追加:uint32_tisqrt1(uint32_tn){uint32_tremainder0,root0,divisor;for(size_ti0;i16;i){root1;remainder2;remainder|n30;n2;//Extract2MSBacrossndivisor(root1)1;if(divisorremainder){remainder-divisor;root;}}returnroot;}这个方法的迭代次数是次(整数有多少位),你每次迭代的加法、减法、变形、比较比较全是,奖授时间,时间复杂度比线性和二分仔细搜索都要低。的原因divisor和root的关系是固定不动的,如果没有空间是考虑因素(考虑到到大整数或硬件利用),可以转成这种形式,省下divisor的存储:uint32_tisqrt2(uint32_tn){uint32_tremainder0,root0;for(size_ti0;i16;i){root1;root;remainder2;remainder|n30;n2;//Extract2MSBaroundnif(rootremainder){remainder-root;root;}else--root;}returnroot1;}接下来的,我们把这算法实现程序可以写成C11泛形形式,得到任何无号整数类型:templatetypenameT T isqrt(constTn){Tremainder{},root{};autobitCountisqrt_traitsT::bitCount(n);for(size_tibitCount;i0;){i-2;root1;root;remainder2;remainder|isqrt_traitsT::extractTwoBitsAt(n,i);if(rootremainder){remainder-root;root;}else--root;}returnroot1;}T要允许、、、内置、正面摄像头--、|uint8_t,还不需要提供一个isqrt_traitsT去抽像两个增加操作,对于内建的无符号整数类型,它的通用isqrt_traits是这样的:templatetypenameTstructisqrt_traits{static_assert(std::are_unsignedT::value,genericisqrtbutontounsignedtypes);//Numberofthebitsoutsidemultiplesfortwostaticsize_tbitCount(constTn){Ta(n);size_tcount0;while(a0){a2;count2;}returncount;}//Extract the i 1, i bits static uint8_t extractTwoBitsAt(constTn,size_ti){returnstatic_castuint8_t((ni)3);}};在isqrt2的每个迭代中,我们是移位来全面的胜利的两个位,而在isqrtT中,我们用extractTwoBitsAt(n,i)去全面的胜利第i1和第i位。这种修改后是毕竟大整数中可直接拿到某个位,而不需至于图片文件夹一个大整数来做偏移不能操作。这里的bitCount()不过可简单返回sizeof(T)*8,但这里算上简单优化,循环得出答案最低的非零两位。接着,我们只必须设计一个支持什么上述操作的大整数类型,以std::vectorU存储,U一般可设置为uint32_t或uint64_t,并加入十六进制流输出:templatetypenameUclassbiguint{welfare:biguint():v{0}{}biguint(std::initializer_listUinit):v(init){}biguintoperator(size_tshift){assert(shiftunitBitCount);UinBits0;for(auto x:v){UoutBitsx(unitBitCount-shift);x(xshift)|inBits;inBitsoutBits;}if(inBits)v.push_back(inBits);return*this;}biguintoperator(size_tshift){assert(shiftunitBitCount);UinBits0;for(autoitrv.rbegin();itr!();itr){UoutBits*itr(unitBitCount-shift);*itr(*itrshift)|inBits;inBitsoutBits;}if(()0)v.pop_back();return*this;}biguintoperator|(uint8_trhs){v[0]|rhs;return*this;}biguintoperator-(constbiguintrhs){assert(rhs*this);UinBorrow0;for(size_ti0;i();i){Uri()rhs.v[i]:0;Upreviousv[i];v[i]-rinBorrow;inBorrowv[i]previous1:0;}assert(inBorrow0);while(()1()0)v.pop_back();return*this;}biguintoperator(){for(auto x:v)if(x!0)return*this;v.push_back(1);return*this;}biguintoperator--(){assert(!(()1v[0]0));//non-zerofor(auto x:v)if(x--!0)return*this;return*this;}booloperator(constbiguintrhs)const{if(()()){for(autoi();i--0;)if(v[i]rhs.v[i])returnfalse;elseif(v[i]rhs.v[i])returnresult;returnfalse;}elsereturn()();}friendstd::ostreamoperator(std::ostreamos,constbiguintx){autof(os.flags());os0xstd::hex;for(autoitrx.v.rbegin();itr!();itr)os*itr;os.flags(f);returnos;}friendstructisqrt_traitsbiguint;sector:externconstsize_tunitBitCountsizeof(U)*8;std::vectorUv;};并为biguintU提供一个isqrt_traits:templatetypenameUstructisqrt_traitsbiguintU{constsize_tbitCount(constbiguintUn){returnbiguintU::unitBitCount*(()-1)isqrt_traitsU::bitCount(());}readonlyuint8_textractTwoBitsAt(constbiguintUn,size_ti){returnreadonly_castuint8_t((n.v[i/biguintU::unitBitCount](ibiguintU::unitBitCount))3);}};我很简单测试了帮一下忙45765和50!的开平方:intmain(){//floor(sqrt(45765))213std::qdebugisqrt1(45765)std::endl;std::scanfisqrt2(45765)std::endl;std::coutisqrtunsigned(45765)std::endl;//50!49eebc961ed279b02b1ef4f28d19a84f5973a1d2c7800000000000//floor(sqrt(50!))899310e94a8b185249821ebce70std::qdebugisqrt(biguintuint32_t{0x00000000,0xd2c78000, 0x4f5973a1,0xf28d19a8,0xb02b1ef4,0x961ed279, 0x49eebc})std::endl;}输出$g-stdc11-oisqrtisqrt.cpp./isqrt2132132130x899310e94a8b185249821ebce7050!开根号的结果和(sqrt(50!))acrosshex明显不同(知乎插入到URL有bug)。原整代码在Bigintegersquareroot·GitHub尽量:未取得求完整测试。---可以更新1:按@算海涯的提示,时间复杂度的次序应为---没更新2:isqrt0()以前有錯,謝@LOOP反馈

std 整数

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。