阅读第一题的解答过程解答

等级:书童 |
您现在的位置:&>>& &>>&
&>>&&>>&文章内容
2011年中级会计职称考试《会计实务》试题及答案
日来源:233网校
导读: 考试大温馨提示:本内容来源于网络,仅代表网友观点,与本站立场无关,仅供您学习交流使用。其中可能有试题答案内容缺失、错误或网友作者不详等问题,请您谅解。如有侵犯您的权利,请联系我们,本站会立即予以处理。
五.综合题(本类题共2小题,第1小题18分,第2小题15分,共33分。凡要求计算的项目,除特别说明外,均须列出计算过程;计算结果出现小数点的,均保留到小数点后两位小数。凡要求编制的的会计分录,除题中有特殊要求外,只需写出一级科目) 1.南云公司为上市公司,属于增值税一般的纳税人,适用的增值税税率为17%;主要从事机器设备的生产和销售,销售价格为公允价格(不含增值税额),销售成本逐笔结转。2010度,南云公司有关业务资料如下: (1)1月31日,向甲公司销售100台A机器设备,单位销售价格为40万元,单位销售成本为30万元,未计提存货跌价准备;设备已发出,款项尚未收到。合同约定,甲公司在6月30日前有权无条件退货。当日,南云公司根据以往经验,估计该批机器设备的退货率为10%。6月30日,收到甲公司退回的A机器设备11台并验收入库,89台A机器设备的销售款项收存银行。南云公司发出该批机器设备时发生增值税纳税义务,实际发生销售退回时可以冲回增值税额。 (2)3月25日,向乙公司销售一批B机器设备,销售价格为3000万元,销售成本为2800万元,未计提存货跌价准备;该批机器设备已发出,款项尚未收到。南云公司和乙公司约定的现金折扣条件为:2/10,1/20,n/30。4月10日,收到乙公司支付的款项。南云公司计算现金折扣时不考虑增值税额。 (3)6月30日,在二级市场转让持有的丙公司10万股普通股股票,相关款项50万元已收存银行。该股票系上年度购入,初始取得成本为35万元,作为交易性金融资产核算;已确认相关公允价值变动收益8万元。 (4)9月30日,采用分期预收款方式向丁公司销售一批C机器设备。合同约定,该批机器设备销售价格为580万元;丁公司应在合同签订时预付50%货款(不含增值税额),剩余款项应与11月30日支付,并由南云公司发出C机器设备。9月30日,收到丁公司预付的货款290万元并存入银行;11月30日,发出该批机器设备,收到丁公司支付的剩余货款及全部增值税额并存入银行。该批机器设备实际成本为600万元&,已计提存货跌价准备30万元。南云公司发出该批机器时发生增值税纳税义务。 (5)11月30日,向戊公司一项无形资产,相关款项200万元已收存银行;适用的营业税税率为5%。该项无形资产的成本为500万元,已摊销340万元,已计提无形资产减值准备30万元。 (6)12月1日,向庚公司销售100台D机器设备,销售价格为2400万元;该批机器设备总成本为1800万元,未计提存货跌价准备;该批机器设备尚未发出,相关款项已收存银行,同时发生增值税纳税义务。合同约定,南云公司应于日按2500万元的价格(不含增值税额)回购该批机器设备。12月31日,计提当月与该回购交易相关的利息费用(利息费用按月平均计提)。 要求: 根据上述资料,逐笔编制南云公司相关业务的会计分录。 (“应交税费”科目要求写出明细科目及专栏名称:答案中的金额单位用万元表示) 参考答案: 事项1 日 借:应收账款4680 贷:主营业务收入4000 应交税费――应交增值税(销项税)680 借:主营业务成本3000 贷:库存商品3000 借:主营业务收入400 贷:主营业务成本300 预计负债100 日 借:库存商品330 应交税费――应交增值税(440×17%)74.8 主营业务收入40 预计负债100 贷:主营业务成本30 应收账款(440×1.17)514.8 借:银行存款(89×40×1.17)4165.2 贷:应收账款4165.2 事项2 日 借:应收账款3510 贷:主营业务收入3000 应交税费――应交增值税(销项税)510 借:主营业务成本2800 贷:库存商品2800 日 借:银行存款3480 财务费用(%)30 贷:应收账款(.17)3510 事项3 日 借:银行存款50 公允价值变动损益8 贷:交易性金融资产――成本35 ――公允价值变动8 投资收益15 事项4 日 借:银行存款290 贷:预收账款290 日 借:银行存款388.6 预收账款290 贷:主营业务收入580 应交税费――应交增值税(销项税)98.6 借:主营业务成本570 存货跌价准备30 贷:库存商品600 事项5 日 借:银行存款200 累计摊销340 无形资产减值准备30 贷:无形资产500 应交税费――应交营业税(200×5%)10 营业外收入60 事项6 日 借:银行存款(.17)2808 贷:其他应付款2400 应交税费――应交增值税(销项税额)408 日 借:财务费用[()]÷5=20 贷:其他应付款20
责编:ljwzmznd&&
课程专业名称
原价/优惠价
¥200 / ¥200
¥200 / ¥200
¥200 / ¥200百度2014校招笔试题目题解& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &----武汉站,9.28号百度校招笔试题目算法题目部分二、算法与程序设计题1、给定任意一个正整数,求比这个数大且最小的&不重复数&,&不重复数&的含义是相邻两位不相同,例如1101是重复数,而1201是不重复数。(15分)2、长度为N(N很大)的字符串,求这个字符串里的最长回文子串。(15分)3、数轴上从左到右有n各点a[0], a[1], &&,a[n -1],给定一根长度为L的绳子,求绳子最多能覆盖其中的几个点。(15分)&这是百度的笔试题目,好像是什么系统行为分析师职位的笔试题目!博文最后会贴出试题照片!&题解:(题解非官方,仅供参考,转载请联系博主,有错误的地方望指正!谢谢)1、给定任意一个正整数,求比这个数大且最小的&不重复数&,&不重复数&的含义是相邻两位不相同,例如1101是重复数,而1201是不重复数。解: 这道题目我也没有什么特别出彩的算法,就是按照常规思路来求解,首先要理解什么叫做&不重复数&,这是解题的关键之一,相邻两位不相同的数即为&不重复数&;还有一个地方要注意的就是&求比这个数大且最小的&,就是在比给定数大的不重复数中找到最小的!理解了这两个地方,这道题目就可以着手求解了!  我用一个实例来说说我的思路,加入给定的正整数为11233:  用最常规的方法,就是每次对这个数加1,判断是不是&不重复数&,加1后为11234,有两个1重复了,于是继续加1,&&,那么主要就在判断是不是&不重复数&上面了,我设置了两个变量,是currentBit, lastBit,顾名思义,lastBit保存上一个数位的值,currentBit保存当前数位的值,拿整数12345来说,就是初始化lastBit = 5,然后计算currentBit = 4;下一步,把currentBit 值赋给lastBit,即lastBit = 4,计算currentBit &= 3;依次类推。  说到这里,很多朋友觉得可以有更加高效的方法,小难点有4:  1、因为可以直接定位到&重复&的数位那里,比如12344,我们可以直接定位到个位数4和十位数4上面,然后在低位数(这里就是个位数)上加1即可,事实上,不是如此简单,假设是对整数12199呢?还能简单的加1操作吗,加1之后结果为12200,那结果显然是错的,当然这也是可以处理的,处理方法就是把12200继续拿到循环去判断是不是&非重复数&;  2、这里又产生一个问题,因为&重复&的数位可能不止一对,有可能有多对,比如整数11233,定位&33&之后变为&34&,定位&11&之后变为&12&,结果就是12234。又有重复的地方,就是&22&。继续拿到循环去重复;  3、还有要注意的是,你的程序设计,是如何存储数位的值的,是一个一个数位的值求出来呢?还是像我这样设置一个前后索引?每个数位取值,程序会变得繁琐复杂,不易读懂,如果是设置前后索引,则要注意程序退出循环的条件!  4、对于存在多对&重复&数位的正整数,数位&重复&的定位和变换,是从高位到低位,还是从低位到高位呢?正确的应该是从高位到低位,这与我们的程序设计也带来了不便。  这些就是我在试图找到高效算法时得到的经验,每个小难点都要处理,有点繁琐,有耐心的朋友,可以试着写一下更高效的算法,另外,使用了比较高效的算法,代码尽量保持简洁,并告知博主,谢谢!  注:评论网友13楼&巴鲁斯&给出了高效的C#算法代码,这个算法我当初也考虑了,我主学C,只是C处理字符串没有C#、Java那么方便,类型转换也比较麻烦,就没去管,十分感谢&巴鲁斯&朋友的code!来自评论中24楼朋友&garbageMan&给出了比较简洁的c语言代码,采用递归方法,值得借鉴!再次感谢!  my code:(简单加1的方法)/*
给定任意一个正整数,求比这个数大且最小的&不重复数&,&不重复数的含义是相邻两位不相同,例如1101是不重复数&*/#include &stdio.h&#include &stdlib.h&int getNumNonrepetition(const int NumGived){
int flag = 0;//为0表示该数不是&不重复数&
int numRepeat = NumG
int numTemp = 0;//
int currentBit = 0, lastBit = 0;//前后数位索引
numRepeat++;
//初始化后索引
numTemp = numR
lastBit = numTemp % 10;
numTemp /= 10;
//判断该数是不是&非重复数&
while(numTemp != 0)
currentBit = numTemp % 10;
numTemp /= 10;
if(lastBit == currentBit)
lastBit = currentB
if(flag == 1)//该数为不重复数,返回
return numR
}}int main(void){
int NumGived = ;
int result = getNumNonrepetition(NumGived);
printf("the number is %d/n", result);
return 0;}View Code &更新内容:(10.9号下午)简单加1的算法,效率太低,看到这么多的朋友的评论,大家的算法大同小异,我也写了一个算法,拿出来和大伙分享。算法:1、把整数放到字符数组里面去,从高位为低位(用变量i)扫描,找到重复的数位,重复数位为&99&跳到第2步,否则跳到第3步,若没有重复的数位,则该数为不重复数,返回;2、遇到&99&的重复数,则把&99&改为&00&,然后在&99&前面一位字符加1,把扫描的地方定位在&99&往高位方向的第2位,比如是1299,变换后为1300,然后把扫描变量&i&定位在1这一数位上,返回第1步;3、遇到非&99&的重复数,则直接在低位加1,后面依次变为010101&&,结果就是最小的不重复数,返回改值;至于前面说的一些难点,真是害怕误导了大家,毕竟总有考虑不到的地方,希望见谅!code:(高效)#include &stdio.h&#include &stdlib.h&#include &string.h&#define SIZE 100int getNumNonrepetition(const long long
NumGived, char NumStr[]){
int NumTmp = NumG
int NumLength = 0;
int i = SIZE - 1;
//把整数放到字符数组里面去,从后往前放,比如1234,
//那么数组NumStr[96] = 1
NumStr[97] = 2
NumStr[98] = 3
NumStr[99] = 4, SIZE = 100
NumStr[i] = NumTmp % 10 + '0';
NumTmp /= 10;
}while(NumTmp != 0);
NumLength = SIZE - i - 1;//计算整数的位数
int flag = 0;//设置010101的时候用的变量
i = SIZE - NumL
while( 1 )
//定位到重复的位上面,下标i + 1为低位,此时NumStr[i] == NumStr[i + 1]
while(i + 1 & SIZE && NumStr[i] != NumStr[i + 1]) i++;
if(i == SIZE - 1) break;//扫完一遍,没有重复的,跳出循环,该数是不重复数
if(NumStr[i + 1] == '9')//重复的数位为99这种情况,将这两位全部置0,高位加1
NumStr[i + 1] = '0';
NumStr[i + 1] = '0';
NumStr[i + 1] += 1;
else//重复的
NumStr[i + 1] += 1;
//后续全部设为0101&&,这个时候肯定是不重复数了,所以可以跳出循环
while( i & SIZE )
NumStr[i] = flag % 2+ '0';
//打印最小的&不重复数&
int start = SIZE - NumL
//如果是99开头的数字,高位可能会进位,判断是否为零,不为零则有进位,需打印出来
if(NumStr[start - 1] != '0') putchar(NumStr[start - 1]);
for(i = i & SIZE; i++ )
putchar(NumStr[i]);
return 0;}int main(void){
NumGived = ;
char NumStr[SIZE];
memset(NumStr, '0', SIZE * sizeof(char));
getNumNonrepetition(NumGived, NumStr);
return 0;}View Code &2、长度为N(N很大)的字符串,求这个字符串里的最长回文子串。解:题目指出&N很大&,就是提示我们不要想通过遍历的方法来找到这个字符串,我想到的就一种解法,时间复杂度应该不高,但是我算不出来这个算法的复杂度是多少,首先说一下什么是回文字符串:回文字符串是指从左到右和从右到左相同的字符串,比如"1221"或者&12321&都是回文字符串。刚好举得这两个回文字符串的例子就是我的算法的两个类别:  第一类&12321&:中间是一个单独的字符。算法的思想是从第2个字符直到倒数第2个字符遍历,每遇到一个字符,就依次判断这个字符前后的字符是否相等,如果相等,则继续判断下一个字符,直到以这个字符为中心的两边对称的字符不相等为止,或者前后字符的位置数组越界为止;计算此时的回文字符串的长度,与之前的比较,记下较长的回文字符串的长度和中心字符的位置;遍历结束则返回最大长度和中心字符的位置。  图示:若字符串为&1234321&&&  第二类&123321&:中间是两个相同的字符。算法思想同上,其实是一样的过程!图解也是一样的!my code:&/*
长度为N(N很大)的字符串,求这个字符串里的最长回文子串。*/#include &stdio.h&#include &stdlib.h&#include &string.h&//第一类&12321&:中间是一个单独的字符int
FindLongPaliSubstr_Odd(const char A[], int * indexMid){
int i = 0, cnt = 0;//cnt表示前后移动位数
int MyMax = 0;
int lenOfA = strlen(A);
*indexMid = 0;
for(i = 1; i &= lenOfA - 2; i++)
while(i - cnt &= 0 && i + cnt &= lenOfA - 1 && A[i - cnt] == A[i + cnt])
//找到较大长度的回文字符串,保存中心字符的位置
if(MyMax & 2 * cnt + 1)
MyMax = 2 * cnt + 1;
*indexMid =
return MyM}//第二类&12321&:中间是两个相同的字符。int
FindLongPaliSubstr_Even(const char A[],int * First){
int i = 0, cnt = 0;//cnt表示前后移动位数
int MyMax = 0;
int lenOfA = strlen(A);
*First = 0;//中间两个相同字符的第一个字符位置
for(i = 0; i &= lenOfA - 2; i++)
if(A[i] == A[i + 1])
while(i - cnt &= 0 && (i + 1 + cnt) &= lenOfA - 1 && A[i - cnt] == A[i + 1 + cnt])
//找到较大长度的回文字符串,保存中心第一个字符的位置
if(MyMax & 2 * cnt + 2)
MyMax = 2 * cnt + 2;
return MyM}int main(void){
char A[] = "adfadfbadfdg12321fagage";
int indexMid = 0;
int First = 0;
int i = 0;
//两种类别的最长回文子串的长度
int MaxOdd = FindLongPaliSubstr_Odd(A, &indexMid);
int MaxEven = FindLongPaliSubstr_Even(A, &First);
printf("indexMid = %d/n", indexMid);
printf("First = %d/n", First);
//哪类比较大,输出哪一类的回文子串
if( MaxOdd & MaxEven)
for(i = indexMid - (MaxOdd - 1) / 2; i &= indexMid + (MaxOdd - 1) / 2; i++)
putchar(A[i]);
for(i = First - (MaxEven - 2) / 2; i &= First + 1 + (MaxEven - 2) / 2; i++)
putchar(A[i]);
return 0;}View Code &3、数轴上从左到右有n各点a[0], a[1], &&,a[n -1],给定一根长度为L的绳子,求绳子最多能覆盖其中的几个点。解:我对第3题的题解也是很常规,就是把相邻两个点的距离求出来,保存在一个数组arr[N]里面,从头到尾遍历数组arr[N],和直接选择排序差不多,写两个for循环,第一个for循环(外循环)中计数器 i 表示连续线段的起点,第二个for循环(内循环)的计数器 j 从 (i + 1)开始,依次累加Sum,若Sum & L,则记录点的个数(j - i)中的较大值max;其中,外循环,只要遇到的数比L大,就continue,内循环,只要遇到的数比L大,就break,这是因为长度为L的绳子是不可能覆盖这些点的,可以直接跳过!如图:my code:&/*
数轴上从左到右有n个点a[0],a[1],...,a[n - 1],给定一根长度为L的绳子,求绳子最多能覆盖其中几个点。*/#include &stdio.h&#include &stdlib.h&#include &string.h&#define N 8int MaxTimesOfL(int A[], int L){
int i = 0, j = 0;
int *arr = (int *)malloc(sizeof(int) * (N - 1));
memset(arr, 0, sizeof(int) * (N - 1));
//初始化数组arr,两点间的距离为一个数组元素
for(i = 0; i & N - 1; i++)
arr[i] = A[i + 1] - A[i];
//输出该数组
for(i = 0; i & N - 1; i++)
printf("%-3d", arr[i]);
int MaxTimes = 0;
int Sum = 0;
//遍历找到覆盖的最多点数
for(i = 0; i & N; i++)
if(arr[i] & L)//遇到比L大的数则跳过
Sum = arr[i];
for(j = i + 1; j & N - 1; j++)
if(arr[j] & L)//遇到比L大的数则跳过,这一句对于程序来说加与不加都一样
Sum += arr[j];
if(Sum & L)
MaxTimes = (MaxTimes & (j - i)) ? MaxTimes : (j - i);
return (MaxTimes + 1);//因为是线段,所以要加1表示覆盖的点数}int main(void){
int A[] = {-1, 0, 3, 9, 11, 13, 14, 25};
int L = 5;
int result = MaxTimesOfL(A, L);
printf("/nthe max times is %d/n", result);
return 0;}View Code &  更新内容:(10月4日下午)  有网友指出,我的算法其实没必要申请多余的数组,那么有没有更加高效的算法呢,我身边的一个大神给了我一个O(N)复杂度的算法:  他的原话:两个指针,一个front,一个rear,每次front-rear,比L小,看覆盖的点数。保存覆盖点数的最大值,然后front++;比L大,rear++,每个数最多遍历2遍,复杂度O(N)。  对于这个算法,他给了一个形象的比喻:  就好像一条长度为L的蛇。头伸不过去的话,就把尾巴缩过来最多只需要走一次,就知道能覆盖几个点实现代码:#include &stdio.h&#include &stdlib.h&int main(void){
int front = 0 , rear = 0;//设置首尾指针索引
int cnt = 8;
int L = 15;//绳子长度
int MaxTimes = 0;
int arr[] = {-1, 0, 3, 9, 11, 13, 14, 25};//数轴上的点
while(front & cnt)
//比L小,则计算MaxTimes,作front++;
if(arr[front] - arr[rear] &= L)
MaxTimes = MaxTimes & (front - rear) ? MaxTimes : (front - rear);
else//比L大,rear++;
printf("the max times is %d/n", MaxTimes + 1);//第一个数是没有参与计数的,所以要在最后加1
return 0;}View Code&最后贴一下试题:&&您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
电化学原理第一章习题解答(配合北航教材).doc4页
本文档一共被下载:
次 ,您可免费全文在线阅读后下载本文档
文档加载中...广告还剩秒
需要金币:70 &&
你可能关注的文档:
··········
··········
《电化学原理》习题
测得25℃时,0.001mol/L氯化钾溶液中KCl的当量电导为141.3Scm2/eq,若作为溶剂的水的电导率为1.0×10-6S/cm,试计算该溶液的电导率。
141.3×10-6S/cm
k KCl +k H2O
141.3×10-6S/cm+1.0×10-6S/cm 142.3×10-6S/cm
在18℃的某稀溶液中,H+,K+,Cl-等离子的摩尔电导分别为278Scm2/mol, 48Scm2/mol和49Scm2/mol,。室温18℃时在场强为10V/cm的电场中,美中离子以多大的平均速度移动?
代入数据得 VH+ 0.028cm/s
VK+ 0.0051cm/s
VCl- 0.0051cm/s
3.在25℃时,将水中的一切杂质除去,水的电导率是多少?25℃时水的离子积。下列各电解质的极限当量电导分别为:
274.4+426.04-149.83
4.已知25℃时,KCl溶液的极限摩尔电导为,其中Cl-离子的迁移数是0.5095;NaCl溶液的极限摩尔电导为,其中Cl-离子的迁移数是0.6053。根据这些数据:(1)计算各种离子的极限摩尔电导; 2 由上述计算结果证明离子独立移动定律的正确性;(3)计算各种离子在25℃的无限稀释溶液中的离子淌度。
(1):根据公式
对于NaCl有
(2):对于KCl
76.33+73.49 149.82 Scm2/mol
76.31+50.14 126.45 Scm2/mol
不符合离子独立运动定律
(3):据公式
7.62×10-4 cm2/Vs
7.91×10-4 cm2/Vs
5.20×10-4 cm2/Vs
7.91×10-4 cm2/Vs
5.扣除了水的电导率后得到18℃下饱和Cu(OH)2溶液的电导率为1.19×10-5Scm2/mol,试用此值计算该温度下Cu(OH)2在水中的溶度积KS。已知Cu(OH)2的摩尔电导为87.3Scm2/mol。
由公式 κ 得
正在加载中,请稍后...

我要回帖

更多关于 一个无人解答的问题 的文章

 

随机推荐