﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-C语言学习交流-随笔分类-C语言趣味程序</title><link>http://www.cppblog.com/cstudy/category/1225.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 20 May 2008 07:56:45 GMT</lastBuildDate><pubDate>Tue, 20 May 2008 07:56:45 GMT</pubDate><ttl>60</ttl><item><title>2006百度之星设计大赛题目</title><link>http://www.cppblog.com/cstudy/archive/2007/06/12/26134.html</link><dc:creator>我爱C</dc:creator><author>我爱C</author><pubDate>Tue, 12 Jun 2007 04:11:00 GMT</pubDate><guid>http://www.cppblog.com/cstudy/archive/2007/06/12/26134.html</guid><wfw:comment>http://www.cppblog.com/cstudy/comments/26134.html</wfw:comment><comments>http://www.cppblog.com/cstudy/archive/2007/06/12/26134.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cstudy/comments/commentRss/26134.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cstudy/services/trackbacks/26134.html</trackback:ping><description><![CDATA[&nbsp;
<p align=left><span>1.</span><span>百度语言翻译机</span><span> </span></p>
<p align=left><span>百度的工程师们是非常注重效率的，在长期的开发与测试过程中，他们逐渐创造了一套独特的缩略语。他们在平时的交谈、会议，甚至在各种技术文档中都会大量运用。</span></p>
<p align=left><span>为了让新员工可以更快地适应百度的文化，更好地阅读公司的技术文档，人力资源部决定开发一套专用的翻译系统，把相关文档中的缩略语和专有名词翻译成日常语言。</span></p>
<p align=left><strong><span>输入要求：</span></strong><span><br></span><span>输入数据包含三部分：<span><br>1. </span>第一行包含一个整数<span>N(N&lt;=10000)</span>，表示总共有多少个缩略语的词条；<span><br>2. </span>紧接着有<span>N</span>行的输入，每行包含两个字符串，以空格隔开。第一个字符串为缩略语（仅包含大写英文字符，长度不超过<span>10</span>字节），第二个字符串为日常语言（不包含空格，长度不超过<span>255</span>字节）；<span><br>3. </span>从第<span>N+2</span>开始到输入结束为包含缩略语的相关文档（总长度不超过<span>1000000</span>个字节）。例：<span><br>6<br>PS </span>门户搜索部<span><br>NLP </span>自然语言处理<span><br>PM </span>产品市场部<span><br>HR </span>人力资源部<span><br>PMD </span>产品推广部<span><br>MD </span>市场发展部<span><br></span>百度的部门包括<span>PS</span>，<span>PM</span>，<span>HR</span>，<span>PMD</span>，<span>MD</span>等等，其中<span>PS</span>还包括<span>NLP</span>小组。<span><br></span>样例：<span><a href="http://star.baidu.com/data/question/q1.in.txt" target=_blank><span>in.txt</span></a></span></span></p>
<p align=left><strong><span>输出要求：</span></strong><span><br></span><span>输出将缩略语转换成日常语言后的文档。（将缩略语转换成日常语言，其他字符保留原样）。例：<span><br></span>百度的部门包括门户搜索部，产品市场部，人力资源部，产品推广部，市场发展部等等，其中门户搜索部还包括自然语言处理小组。<span><br></span>样例：<span><a href="http://star.baidu.com/data/question/q1.out.txt" target=_blank><span>out.txt</span></a></span></span></p>
<p align=left><span>2.</span><span>饭团的烦恼</span></p>
<p align=left><span>&#8220;</span><span>午餐饭团<span>&#8221;</span>是百度内部参与人数最多的民间组织。<span><br></span>同一个部门的、同一所大学的、同一年出生的、使用同一种型号电脑的员工们总是以各种理由组织各种长期的、临时的饭团。</span></p>
<p align=left><span>参加饭团，不仅可以以优惠的价格尝到更加丰富的菜式，还可以在吃饭的时候和同事们增进感情。<span><br></span>但是，随着百度的员工越来越多，各个饭团的管理变得繁杂起来。特别是为了照顾员工们越来越挑剔的胃，饭团的点菜负责人的压力也越来越大。现在，这个任务就交给<span>&#8220;</span>百度之星<span>&#8221;</span>了，因为，你将要为所有的百度饭团设计一个自动点菜的算法。</span></p>
<p align=left><span>饭团点菜的需求如下：<span><br>1</span>．经济是我们要考虑的一个因素，既要充分利用百度员工的午餐补助，又不能铺张浪费。因此，我们希望最后的人均费用越接近<span>12</span>元越好。<span><br>2</span>．菜式丰富是我们要考虑的另一个因素。为简单起见，我们将各种菜肴的属性归结为荤菜，素菜，辛辣，清淡，并且每个菜只能点一次。<span><br>3</span>．请谨记，</span><span>百度饭团在各大餐馆享受<span>8</span>折优惠</span><span>。</span></p>
<p align=left><strong><span>输入要求：</span></strong><span><br>1</span><span>．输入数据第一行包含三个整数<span>N</span>，<span>M</span>，<span>K(0&lt;N&lt;=16</span>，<span>0&lt;M&lt;=N</span>，<span>0&lt;K&lt;=12)</span>，分别表示菜单上菜的数目，饭团需要点的菜的数目，就餐的人数；<span><br>2</span>．紧接着<span>N</span>行，每行的格式如下：<span><br></span>菜名（长度不超过<span>20</span>个字符） 价格（原价，整数）是否荤菜（<span>1</span>表示是，<span>0</span>表示否） 是否辛辣（<span>1</span>表示是，<span>0</span>表示否）；<span><br>3</span>．第<span>N+2</span>行是<span> a b c d </span>四个整数，分别表示需要点的荤菜，素菜，辛辣，清淡菜的数目。例：<span><br>3 2 2<br></span>水煮鱼<span> 30 1 1<br></span>口水鸡<span> 18 1 1<br></span>清炖豆腐<span> 12 0 0<br>1 1 1 1<br></span>样例：<span><a href="http://star.baidu.com/data/question/q2.in.txt" target=_blank><span>in.txt</span></a></span></span></p>
<p align=left><strong><span>输出要求：</span></strong><span><br></span><span>对于每组测试数据，输出数据包含<span>M+1</span>行，前<span>M</span>行每行包含一个菜名（按菜名在原菜单的顺序排序）。第<span>M+1</span>行是人均消费，结果保留两位小数。例：<span><br></span>口水鸡<span><br></span>清炖豆腐<span><br>12.00<br></span>样例：<span><a href="http://star.baidu.com/data/question/q2.out.txt" target=_blank><span>out.txt</span></a></span></span></p>
<p align=left><span>3.</span><span>变态比赛规则</span></p>
<p align=left><span>为了促进各部门员工的交流，百度举办了一场全公司范围内的<span>&#8220;</span>拳皇<span>&#8221;</span>（百度内部最流行的格斗游戏）友谊赛，负责组织这场比赛的是百度的超级<span>&#8220;</span>拳皇<span>&#8221;</span>迷<span>W.Z</span>。<span>W.Z</span>不想用传统的淘汰赛或者循环赛的方式，而是自己制定了一个比赛规则。</span></p>
<p align=left><span>由于一些员工（比如同部门或者相邻部门员工）平时接触的机会比较多，为了促进不同部门之间的交流，<span>W.Z</span>希望员工自由分组。不同组之间的每两个人都会进行一场友谊赛而同一组内的人之间不会打任何比赛。</span></p>
<p align=left><span>比如<span>4</span>个人，编号为<span>1~4,</span>如果分为两个组并且<span>1</span>，<span>2</span>一个组，<span>3</span>，<span>4</span>一个组，那么一共需要打四场比赛：<span>1 vs 3</span>，<span>1 vs 4</span>，<span>2 vs 3</span>，<span>2 vs 4</span>。而如果是<span>1</span>，<span>2</span>，<span>3</span>一组，<span>4</span>单独一组，那么一共需要打三场比赛<span>: 1 vs 4</span>，<span>2 vs 4</span>，<span>3 vs 4</span>。</span></p>
<p align=left><span>很快<span>W.Z</span>意识到，这样的比赛规则可能会让比赛的场数非常多。<span>W.Z</span>想知道如果有<span>N</span>个人，通过上面这种比赛规则，总比赛场数有可能为<span>K</span>场吗？比如<span>3</span>个人，如果只分到一组则不需要比赛，如果分到两组则需要<span>2</span>场比赛，如果分为三组则需要<span>3</span>场比赛。但是无论怎么分都不可能恰需要<span>1</span>场比赛。</span></p>
<p align=left><span>相信作为编程高手的你一定知道该怎么回答这个问题了吧？那么现在请你帮助<span>W.Z</span>吧。</span></p>
<p align=left><strong><span>输入要求：</span></strong><span><br></span><span>每行为一组数据，包含两个数字<span> N, K(0&lt;N&lt;=500, K&gt;=0)</span>。例：<span><br>2 0<br>2 1<br>3 1<br>3 2<br></span>样例：<span><a href="http://star.baidu.com/data/question/q3.in.txt" target=_blank><span>in.txt</span></a></span></span></p>
<p align=left><strong><span>输出要求：</span></strong><span><br></span><span>对输入的<span>N,K </span>如果<span>N</span>个员工通过一定的分组方式可以使比赛场数恰好为<span>K</span>，则输出<span>"YES"</span>，否则输出<span>"NO"</span>（请全部使用大写字母），每组数据占一行。例：<span><br>YES<br>YES<br>NO<br>YES<br></span>样例：<span><a href="http://star.baidu.com/data/question/q3.out.txt" target=_blank><span>out.txt</span></a></span></span></p>
<p align=left><span>4.</span><span>蝈蝈计分</span></p>
<p align=left><span>蝈蝈小朋友刚刚学会了<span>0~9</span>这十个数字<span>,</span>也跟爸爸妈妈来参加百度每周进行的羽毛球活动。但是他还没有球拍高，于是大人们叫他记录分数。聪明的蝈蝈发现只要记录连续得分的情况就可以了，比如用<span>&#8220;3 2 <st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="4" UnitName="&#8221;">4&#8221;</st1:chmetcnv></span>可以表示一方在这一局中连得三分后，输了两分，接着又连得到四分。可是，后来大人们发现蝈蝈只会用<span>0~9</span>这十个数字，所以当比赛选手得分超过<span>9</span>的时候，他会用一个<span>X</span>来表示<span>10</span>完成记分。但问题是，当记录为<span>&#8220;X 3 <st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="5" UnitName="&#8221;">5&#8221;</st1:chmetcnv></span>的时候，蝈蝈自己也记不起来是一方连续得到十三分后，再输五分；还是先赢十分输三分再赢五分。</span></p>
<p align=left><span>因为百度内部就要开始进行羽毛球联赛了，要先摸清大家的实力才好分组比赛呢～于是，大人们想知道以前每局的比分是怎样的，以及谁获得了胜利。要是遇到了根据比赛记录无法确认比赛过程的情况，也要输出相应的提示哦。</span></p>
<p align=left><span>需要进一步说明的是，比赛是五局三胜的，每局先获得二十一分的为胜，但是胜方必须领先对手两分或以上，否则必须继续比赛直到一方超出对手两分为止，比分多的一方获胜。任何一方先获胜三局后就获得最终胜利，比赛也相应的结束。而且蝈蝈保证是</span><strong><span>完整的无多余信息的</span></strong><span>记录了比赛。</span></p>
<p align=left><strong><span>输入要求：</span></strong><span><br>1</span><span>．文件中第一行只有一个整数<span>M</span>，表示蝈蝈记录了多少场比赛的分数；<span><br>2</span>．在接下来的<st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="2" UnitName="m"><span>2M</span></st1:chmetcnv>行里，每场比赛用两行记录，第一行是一个整数<span>N(N&lt;=1000)</span>表示当前这个记录中有多少个字符，第二行就是具体的<span>N</span>个字符表示记录的分数（相邻字符用空格隔开）。例：<span><br>3<br>23<br>9 7 3 6 2 4 7 8 3 2 7 9 X 2 2 1 2 1 X 1 X 1 1<br>25<br>9 3 8 5 4 8 3 9 8 4 X X X X 2 X X X X 2 8 4 9 2 4<br>43<br>7 7 7 7 7 3 4 5 6 7 6 5 4 2 1 3 5 7 9 7 5 3 1 3 0 9 9 3 9 3 2 1 1 1 5 1 5 1 5 1 5 5 1<br></span>样例：<span><a href="http://star.baidu.com/data/question/q4.in.txt" target=_blank><span>in.txt</span></a></span></span></p>
<p align=left><strong><span>输出要求：</span></strong><span><br></span><span>对应每一个分数记录，输出相应的每局分数，每局分数都使用两个整数表示，表示两个选手的得分，中间用<span>":"</span>分隔开；每组分数记录间使用一个空行分隔开。如果相应的比赛结果无法预测，以<span>&#8220;UNKNOWN&#8221;</span>一个单词独占一行表示（请全部使用大写字母）。例：<span><br>21:17<br>24:22<br>21:3<br><br>UNKNOWN<br><br>21:14<br>20:22<br>21:23<br>21:16<br>21:9<br></span>样例：<span><a href="http://star.baidu.com/data/question/q4.out.txt" target=_blank><span>out.txt</span></a></span></span></p>
<p align=left><span>5.</span><span>座位调整</span></p>
<p align=left><span>百度办公区里到处摆放着各种各样的零食。百度人力资源部的调研发现，员工如果可以在自己喜欢的美食旁边工作，效率会大大提高。因此，百度决定进行一次员工座位的大调整。</span></p>
<p align=left><span>调整的方法如下：<span><br>1</span>．首先将办公区按照各种零食的摆放分成<span>N</span>个不同的区域（例如：可乐区，饼干区，牛奶区等等）；<span><br>2</span>．每个员工对不同的零食区域有不同的喜好程度（喜好程度是<span>1~100</span>的整数，喜好程度越大表示该员工越希望被调整到相应的零食区域）；<span><br>3</span>．由于每个零食区域可以容纳的员工数量有限，人力资源部希望找到一个最优的调整方案使得总的喜好程度最大。</span></p>
<p align=left><strong><span>输入要求：</span></strong><span><br></span><span>文件第一行包含两个整数<span>N</span>，<span>M(N&gt;=1</span>，<span>M&lt;=300)</span>。分别表示<span>N</span>个区域和<span>M</span>个员工；<span><br></span>第二行是<span>N</span>个整数构成的数列<span>a</span>，其中<span>a[i]</span>表示第<span>i</span>个区域可以容纳的员工数<span>(1&lt;=a[i]&lt;=M</span>，<span>a[1]+a[2]+...+a[N]=M)</span>；<span><br></span>紧接着是一个<span>M*N</span>的矩阵<span>P</span>，<span>P(i,j)</span>表示第<span>i</span>个员工对第<span>j</span>个区域的喜好程度。例：<span><br>3 3<br>1 1 1<br>100 50 25<br>100 50 25<br>100 50 25<br></span>样例：<span><a href="http://star.baidu.com/data/question/q5.in.txt" target=_blank><span>in.txt</span></a></span></span></p>
<p align=left><strong><span>输出要求：</span></strong><span><br></span><span>对于每个测试数据，输出可以达到的最大的喜好程度。例：<span><br>175<br></span>样例：<span><a href="http://star.baidu.com/data/question/q5.out.txt" target=_blank><span>out.txt</span></a></span></span></p>
<p align=left><strong><span>数据解释：</span></strong><span><br></span><span>此数据只存在一种安排方法，三个员工分别安置在三个区域。最终的喜好程度为<span>100+50+25=175</span></span></p>
<p align=left><span>6.</span><span>剪刀石头布</span></p>
<p align=left><span>N</span><span>个小孩正在和你玩一种剪刀石头布游戏（剪刀赢布，布赢石头，石头赢剪刀）。<span>N</span>个小孩中有一个是裁判，其余小孩分成三组（不排除某些组没有任何成员的可能性），但是你不知道谁是裁判，也不知道小孩们的分组情况。然后，小孩们开始玩剪刀石头布游戏，一共玩<span>M</span>次，每次任意选择两个小孩进行一轮，你会被告知结果，即两个小孩的胜负情况，然而你不会得知小孩具体出的是剪刀、石头还是布。已知各组的小孩分别只会出一种手势（因而同一组的两个小孩总会是和局），而裁判则每次都会随便选择出一种手势，因此没有人会知道裁判到底会出什么。请你在<span>M</span>次剪刀石头布游戏结束后，猜猜谁是裁判。如果你能猜出谁是裁判，请说明最早在第几次游戏结束后你就能够确定谁是裁判。</span></p>
<p align=left><strong><span>输入要求：</span></strong><span><br></span><span>输入文件包含多组测试数据，每组测试数据第一行为两个整数<span>N</span>和<span>M(1&lt;=N&lt;=500</span>，<span>0&lt;M&lt;=2000)</span>，分别为小孩的个数和剪刀石头布游戏进行的次数。接下来<span>M</span>行，每行两个整数且中间以一个符号隔开。两个整数分别为进行游戏的两个小孩各自的编号（为小于<span>N</span>的非负整数）。符号的可能值为<span>&#8220;=&#8221;</span>、<span>&#8220;&gt;&#8221;</span>和<span>&#8220;&lt;&#8221;</span>，分别表示和局、第一个小孩胜和第二个小孩胜三种情况。例：<span><br>3 3<br>0&lt;1<br>1&lt;2<br>2&lt;0<br>3 5<br>0&lt;1<br>0&gt;1<br>1&lt;2<br>1&gt;2<br>0&lt;2<br>4 4<br>0&lt;1<br>0&gt;1<br>2&lt;3<br>2&gt;3<br>1 0<br></span>样例：<span><a href="http://star.baidu.com/data/question/q6.in.txt" target=_blank><span>in.txt</span></a></span></span></p>
<p align=left><strong><span>输出要求：</span></strong><span><br>1</span><span>．每组测试数据输出一行，若能猜出谁是裁判，则输出裁判的编号，并输出在第几次游戏结束后就能够确定谁是裁判，小孩的编号和游戏次数以一个空格隔开；<span><br>2</span>．如果无法确定谁是裁判，输出<span>-2</span>；如果发现剪刀石头布游戏的胜负情况不合理（即无论谁是裁判都会出现矛盾），则输出<span>-1</span>。例：<span><br>-2<br>1 4<br>-1<br>0 0</span></span></p>
<p><strong><span>程序之美</span><span>&#8221;-</span></strong><strong><span>百度之星程序设计大赛</span><span> - </span></strong><strong><span>题目</span></strong><span><br></span><span>第一题（共四题</span><span>100</span><span>分）：连续正整数（</span><span>10</span><span>分）</span><span> <br>&nbsp;&nbsp; </span><span>题目描述：</span><span><br></span><span>一个正整数有可能可以被表示为</span><span>n(n&gt;=2)</span><span>个连续正整数之和，如：</span><span><br>&nbsp;&nbsp;&nbsp;&nbsp;15=1+2+3+4+5<br>&nbsp;&nbsp;&nbsp;&nbsp;15=4+5+6<br>&nbsp;&nbsp;&nbsp;&nbsp;15=7+8<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>请编写程序，根据输入的任何一个正整数，找出符合这种要求的所有连续正整数序列。</span><span> <br>&nbsp;&nbsp; </span><span>输入数据：</span><span><br></span><span>一个正整数，以命令行参数的形式提供给程序。</span><span><br>&nbsp;&nbsp; </span><span>输出数据：</span><span><br></span><span>在</span><span><br></span><span>标准输出上打印出符合题目描述的全部正整数序列，每行一个序列，每个序列都从该序列的最小正整数开始、以从小到大的顺序打印。如果结果有多个序列，按各序</span><span><br></span><span>列的最小正整数的大小从小到大打印各序列。此外，序列不允许重复，序列内的整数用一个空格分隔。如果没有符合要求的序列，输出</span><span>&#8220;NONE&#8221;</span><span>。</span><span> <br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>例如，对于</span><span>15</span><span>，其输出结果是：</span><span><br>&nbsp;&nbsp;&nbsp;&nbsp;1 2 3 4 5<br>&nbsp;&nbsp;&nbsp;&nbsp;4 5 6<br>&nbsp;&nbsp;&nbsp;&nbsp;7 8<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>对于</span><span>16</span><span>，其输出结果是：</span><span><br>&nbsp;&nbsp;&nbsp;&nbsp;NONE<br>&nbsp;&nbsp; </span><span>评分标准：</span><span><br></span><span>程序输出结果是否正确。</span><span><br>&nbsp;&nbsp; </span><span>第二题（共四题</span><span>100</span><span>分）：重叠区间大小（</span><span>20</span><span>分）</span><span><br>&nbsp;&nbsp; </span><span>题目描述：</span><span><br></span><span>请编写程序，找出下面</span><span>&#8220;</span><span>输入数据及格式</span><span>&#8221;</span><span>中所描述的输入数据文件中最大重叠区间的大小。</span><span><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>对一个正整数</span><span>n</span><span>，如果</span><span>n</span><span>在数据文件中某行的两个正整数（假设为</span><span>A</span><span>和</span><span>B</span><span>）之间，即</span><span>A&lt;=n&lt;=B</span><span>或</span><span>A&gt;=n&gt;=B</span><span>，则</span><span>n</span><span>属于该行；如果</span><span>n</span><span>同时属于行</span><span>i</span><span>和</span><span>j</span><span>，则</span><span>i</span><span>和</span><span>j</span><span>有重叠区间；重叠区间的大小是同时属于行</span><span>i</span><span>和</span><span>j</span><span>的整数个数。</span><span><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>例如，行（</span><span>10 20</span><span>）和（</span><span>12 25</span><span>）的重叠区间为</span><span>[12 20]</span><span>，其大小为</span><span>9</span><span>；行（</span><span>20 10</span><span>）和（</span><span>12 18</span><span>）的重叠区间为</span><span>[10 12]</span><span>，其大小为</span><span>3</span><span>；行</span><span>(20 10)</span><span>和（</span><span>20 30</span><span>）的重叠区间大小为</span><span>1</span><span>。</span><span><br>&nbsp;&nbsp; </span><span>输入数据：</span><span><br></span><span>程</span><span><br></span><span>序读入已被命名为</span><span>input.txt</span><span>的输入数据文本文件，该文件的行数在</span><span>1</span><span>到</span><span>1,000,000</span><span>之间，每行有用一个空格分隔的</span><span>2</span><span>个正整数，这</span><span>2</span><span>个正整数的</span><span><br></span><span>大小次序随机，每个数都在</span><span>1</span><span>和</span><span>2^32-1</span><span>之间。（为便于调试，您可下载测试</span><span>input.txt</span><span>文件，实际运行时我们会使用不同内容的输入文件。）</span><span><br>&nbsp;&nbsp; </span><span>输出数据：</span><span><br></span><span>在标准输出上打印出输入数据文件中最大重叠区间的大小，如果所有行都没有重叠区间，则输出</span><span>0</span><span>。</span><span><br>&nbsp;&nbsp; </span><span>评分标准：</span><span><br></span><span>程序输出结果必须正确，内存使用必须不超过</span><span>256MB</span><span>，程序的执行时间越快越好。</span><span><br>&nbsp;&nbsp; </span><span>第三题（共四题</span><span>100</span><span>分）：字符串替换（</span><span>30</span><span>分）</span><span><br>&nbsp;&nbsp; </span><span>题目描述：</span><span><br></span><span>请编写程序，根据指定的对应关系，把一个文本中的字符串替换成另外的字符串。</span><span> <br>&nbsp;&nbsp; </span><span>输入数据：</span><span><br></span><span>程</span><span><br></span><span>序读入已被命名为</span><span>text.txt</span><span>和</span><span>dict.txt</span><span>的两个输入数据文本文件，</span><span>text.txt</span><span>为一个包含大量字符串（含中文）的文本，以</span><span><br>whitespace</span><span>为分隔符；</span><span>dict.txt</span><span>为表示字符串（</span><span>s1</span><span>）与字符串（</span><span>s2</span><span>）的对应关系的另一个文本（含中文），大约在</span><span>1</span><span>万行左右，每行两个字</span><span><br></span><span>符串（即</span><span>s1</span><span>和</span><span>s2</span><span>），用一个</span><span>\t</span><span>或空格分隔。</span><span>dict.txt</span><span>中各行的</span><span>s1</span><span>没有排序，并有可能有重复，这时以最后出现的那次</span><span>s1</span><span>所对应的</span><span>s2</span><span>为准。</span><span><br>text.txt</span><span>和</span><span>dict.txt</span><span>中的每个字符串都可能包含除</span><span>whitespace</span><span>之外的任何字符。</span><span>text.txt</span><span>中的字符串必须和</span><span>dict.txt<br></span><span>中的某</span><span>s1</span><span>完全匹配才能被替换。（为便于调试，您可下载测试</span><span>text.txt</span><span>和</span><span>dict.txt</span><span>文件，实际运行时我们会使用不同内容的输入文件。）</span><span><br>&nbsp;&nbsp; </span><span>输出数据：</span><span><br></span><span>在标准输出上打印</span><span>text.txt</span><span>被</span><span>dict.txt</span><span>替换后了的整个文本。</span><span><br>&nbsp;&nbsp; </span><span>评分标准：</span><span><br></span><span>程序输出结果必须正确，内存使用越少越好，程序的执行时间越快越好。</span><span><br>&nbsp;&nbsp;</span><span>第四题（共四题</span><span>100</span><span>分）：低频词过滤（</span><span>40</span><span>分）</span><span><br>&nbsp;&nbsp; </span><span>题目描述：</span><span><br></span><span>请编写程序，从包含大量单词的文本中删除出现次数最少的单词。如果有多个单词都出现最少的次数，则将这些单词都删除。</span><span><br>&nbsp;&nbsp; </span><span>输入数据：</span><span><br></span><span>程序读入已被命名为</span><span>corpus.txt</span><span>的一个大数据量的文本文件，该文件包含英文单词和中文单词，词与词之间以一个或多个</span><span>whitespace</span><span>分隔。（为便于调试，您可下载测试</span><span>corpus.txt</span><span>文件，实际运行时我们会使用不同内容的输入文件。）</span><span><br>&nbsp;&nbsp; </span><span>输出数据：</span><span><br></span><span>在标准输出上打印删除了</span><span>corpus.txt</span><span>中出现次数最少的单词之后的文本（词与词保持原来的顺序，仍以空格分隔）。</span><span> <br>&nbsp;&nbsp; </span><span>评分标准：</span><span><br></span><span>程序输出结果必须正确，内存使用越少越好，程序的执行时间越快越好。</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span>第一题（共两题<span>100</span>分）站点统计（<span>50</span>分）<span><br><br>&nbsp; </span>题目描述：<span><br></span>一个<span>Internet</span>站点集合，可以用如下的方式来描述站点和站点之间的链接引用关系：<span><br>&nbsp; &nbsp;s 1 2 3 4<br>&nbsp; &nbsp;1 / 4 0 3<br>&nbsp; &nbsp;2 3 / 4 5<br>&nbsp; &nbsp;3 2 2 / 2<br>&nbsp; &nbsp;4 6 1 4 /<br></span>其中与<span>s(site)</span>同行和同列的数字都表示站点号，其他每个数字表示一个站点到另一个站<span><br></span>点的超文本链接数。如果站点<span>A</span>有到另一个站点<span>B</span>的直接链接或间接（指通过一个或多个<span><br></span>直接链接）链接，则称站点<span>A</span>有到站点<span>B</span>的访问关系，或称站点<span>B</span>可以被站点<span>A</span>访问到。例<span><br></span>如，上面描述了一个有<span>4</span>个站点链接关系的站点集合，第一行<span> / 4 0 3 </span>表示站点<span>1</span>到站点<span><br>1</span>，<span>2</span>，<span>3</span>，<span>4</span>的超文本链接数。<span> <br></span>请编写程序<span>:<br>1</span>） 将一个有<span>N</span>个站点的集合划分成满足下面所有条件的站点子集（这些子集的<span>union</span>组<span><br></span>成了该<span>N</span>个站点集合）：<span><br>&nbsp; &nbsp;a) </span>当任一子集中的站点数大于<span>1</span>时，该子集内至少存在一个站点有到该子集内所有<span><br></span>其他站点的访问关系；<span><br>&nbsp; &nbsp;b) </span>当任一子集中的站点数大于<span>1</span>时，该子集内的任一站点至少可以被该子集内的某<span><br></span>一站点访问到；<span><br>&nbsp; &nbsp;c) </span>两个不同子集中的任意两个站点之间不存在任何访问关系。<span><br>2</span>） 裁减这些子集内的站点之间现有的链接关系，使得被裁减后的各子集内的站点依然<span><br></span>可以满足上述所有条件，同时使得子集内的站点之间的链接总数相加之和为最小。<span> <br><br></span>假如上面的站点集合是这<span>N</span>个站点集合中的一个子集，它满足了条件<span>a)</span>：<span>4</span>可以访问到<span>3</span>，<span><br></span>也可以访问到<span>2</span>和<span>1</span>；也满足了条件<span>b)</span>：站点<span>4</span>可以被站点<span>3</span>访问到，等等。对该站点集合<span><br></span>进行裁减使其仍然满足条件<span>a</span>和<span>b</span>，并使得其链接总数之和为最小的结果为：<span><br>&nbsp; &nbsp;s 1 2 3 4<br>&nbsp; &nbsp;1 / 0 0 0<br>&nbsp; &nbsp;2 0 / 0 0<br>&nbsp; &nbsp;3 2 0 / 2<br>&nbsp; &nbsp;4 0 1 4 /<br></span>这里，站点<span>4</span>可以访问到站点<span>3</span>和<span>2</span>，站点<span>4</span>也可以访问到站点<span>1</span>（通过站点<span>3</span>间接访问）；<span><br></span>此外，站点<span>3</span>可以访问到站点<span>4</span>；最小链接总数相加为<span>2</span>＋<span>2</span>＋<span>1</span>＋<span>4=9</span>。<span> <br><br><br>&nbsp; </span>输入数据：<span><br></span>程序读入已被命名为<span>sites.txt</span>的完全如上所示的<span>N*N</span>矩阵的输入数据文本文件，<span>N</span>不大于<span><br>10</span>万（<span>N</span>即为行数和列数），输入文件的每一行的列和列之间用一个<span>\\t</span>分隔，行和行之<span><br></span>间用<span>\\n</span>分隔。<span><br>&nbsp; </span>输出数据：<span><br></span>按行输出满足题目要求的每个子集内的站点数以及裁减后的最小链接总数之和，数和数<span><br></span>之间都以一个空格分隔。如上述子集和最小链接总数为：<span><br>1 2 3 4 9<br></span>如果输入数据无满足题目要求的子集存在，则输出<span>NONE</span>。<span> <br><br></span>评分标准：<span><br></span>在结果正确的前提下，会考虑程序的运行时间。我们会用两个不同的输入数据文件（一<span><br></span>个简单一个复杂）进行测试，简单的输入数据产生的程序输出结果如果正确，获该题满<span><br></span>分的<span>30%</span>即<span>15</span>分（不处理运行时间，除非因程序错误引起的超时运行）；复杂的输入数据<span><br></span>产生的程序输出结果如果正确，获<span>50%</span>即<span>25</span>分，运行时间满分为<span>20%</span>即<span>10</span>分，按各自程序<span><br></span>的运行时间在所有参赛选手的程序的运行时间中所占位置获得相应比例。请仔细阅读并<span><br></span>遵守<span>"</span>输入数据<span>"</span>和<span>"</span>输出数据<span>"</span>中的格式要求，如不符合要求，我们的自动评分程序可能<span><br></span>会判定程序不正确。<span><br><br><br><br></span>第二题（共两题<span>100</span>分）决策系统（<span>50</span>分）<span><br><br>&nbsp; </span>题目描述：<span><br></span>一个智能决策系统可以由规则库和事实库两部分组成，假定规则库的形式为：<span> <br>&nbsp; &nbsp;Ri C1 &amp; C2 &amp; &#8230; &amp; Cn-&gt;A <br></span>表示在条件<span>C1</span>，<span>C2</span>，<span>&#8230; </span>和<span>Cn</span>都满足的前提下，结论<span>A</span>成立（即采取行动<span>A</span>）；<span>Ri</span>表示这是<span><br></span>规则库中的第<span>i</span>条规则。事实库则由若干为真的条件（即命题）所组成。<span> <br></span>对一个新的待验证的命题<span>Q</span>，可使用数据驱动或目标驱动两种推理方式之一，来确认它是<span><br></span>否可由某规则库和事实库推出：<span> <br>1</span>） 数据驱动的推理是指从事实库开始，每次试图发现规则库中某条能满足所有条件的<span><br></span>规则，并将其结论作为新的事实加入事实库，然后重复此过程，直至发现<span>Q</span>是一个事实或<span><br></span>没有任何新的事实可被发现；<span> <br>2</span>） 目标驱动的推理是指从目标假设<span>Q</span>出发，每次试图发现规则库中某条含该假设的规<span><br></span>则，然后将该规则的前提作为子目标，确认这些子目标是否和事实库中的事实相匹配，<span><br></span>如果没有全部匹配，则重复此过程，直至发现新的子目标都为真或不能再验证子目标是<span><br></span>否为真。<span> <br><br></span>例如，一个规则库为：<span><br>&nbsp; &nbsp;R1 X &amp; B &amp; E -&gt; Y<br>&nbsp; &nbsp;R2 Y &amp; D -&gt; Z<br>&nbsp; &nbsp;R<st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="True" SourceValue="3" UnitName="a">3 A</st1:chmetcnv>-&gt;X<br></span>事实库为：<span><br>&nbsp; &nbsp;A<br>&nbsp; &nbsp;B <br>&nbsp; &nbsp;C <br>&nbsp; &nbsp;D <br>&nbsp; &nbsp;E<br></span>如果想知道命题<span>Z</span>是否为真，数据驱动的推理是从<span>A B C D E</span>开始，依次匹配规则<span>R3</span>（得<span><br></span>到新事实<span>X</span>），<span>R1</span>（得到新事实<span>Y</span>）和<span>R2</span>，得到<span>Z</span>为真的事实；目标驱动的推理是从假设目<span><br></span>标<span>Z</span>开始，依次匹配规则<span>R2</span>（得到新的子目标<span>Y</span>），<span>R1</span>（得到新的子目标<span>X</span>）和<span>R3</span>，得到假<span><br></span>设<span>Z</span>为真的结论。<span> <br><br></span>请编写程序正确、高效的实现这两种推理方式。<span> <br><br><br>&nbsp; </span>输入数据：<span><br></span>程序需要两个命令行参数：<span><br>1</span>）<span> &lt;</span>推理方式<span>&gt;</span>：<span>data|goal</span>，分别表示程序应采用数据驱动的推理或目标驱动的推理；<span><br>2</span>）<span> &lt;</span>命题<span>&gt;</span>：如<span>Z</span>。<span><br></span>此外，程序还需读入已被命名为<span>rules.txt</span>的规则库和已被命名为<span>facts.txt</span>的事实库。<span><br></span>规则库中的规则可能在千量级，按<span>R1,R2,R3&#8230;</span>依次按行排列的，每行一条规则，每条规<span><br></span>则都以<span>Ri C1 &amp; C2 &amp; &#8230; &amp; Cn-&gt;A</span>的形式表示，<span>Ri</span>和<span>C1</span>之间有<span>1</span>个或多个空格，<span>Ci</span>和<span>&amp;</span>之<span><br></span>间，<span>Cn</span>和<span>-&gt;</span>之间，以及<span>-&gt;</span>和<span>A</span>之间可以有<span>0</span>或多个空格。事实库中的各事实之间用<span>1</span>个<span>\\n<br></span>隔开，每行一个事实。<span> <br>&nbsp; </span>输出数据：<span><br></span>如果<span>Z</span>能被推理为真，则输出：<span><br>TRUE &lt;</span>推理方式：<span>data</span>或<span>goal&gt; &lt;</span>用空格隔开的规则序列：以在所输入的推理方式下，推<span><br></span>出该命题为真的规则被激活的顺序排列<span>&gt;<br></span>例如：<span>TRUE goal R2 R1 R3<br></span>如果<span>Z</span>不能被推理为真，输出：<span><br>UNCERTAIN <br><br>&nbsp; </span>评分标准：<span><br></span>在结果正确的前提下，会考虑程序的运行时间。我们会用两组不同的输入数据文件（一<span><br></span>个简单一个复杂）进行测试，简单的输入数据产生的程序输出结果如果正确，获该题满<span><br></span>分的<span>20%</span>即<span>10</span>分（不处理运行时间，除非因程序错误引起的超时运行）；复杂的输入数据<span><br></span>产生的程序输出结果如果正确，获<span>40%</span>即<span>20</span>分，运行时间满分为<span>40%</span>即<span>20</span>分，按各自程序<span><br></span>的运行时间在所有参赛选手的程序的运行时间中所占位置获得相应比例。两种推理方式<span><br></span>各占一半的分数。请仔细阅读并遵守<span>"</span>输入数据<span>"</span>和<span>"</span>输出数据<span>"</span>中的格式要求，如不符合<span><br></span>要求，我们的自动评分程序可能会判定程序不正确。</span></p>
<p><strong><span>题目描述</span></strong><span>：</span></p>
<p><span>八方块移动游戏要求从一个含</span><span>8</span><span>个数字（用</span><span>1-8</span><span>表示）的方块以及一个空格方块（用</span><span>0</span><span>表示）的</span><span>3x3</span><span>矩阵的起始状态开始，不断移动该空格方块以使其和相邻的方块互换，直至达到所定义的目标状态。空格方块在中间位置时有上、下、左、右</span><span>4</span><span>个方向可移动，在四个角落上有</span><span>2</span><span>个方向可移动，在其他位置上有</span><span>3</span><span>个方向可移动。例如，假设一个</span><span>3x3</span><span>矩阵的初始状态为：</span><span><br>&nbsp;&nbsp;&nbsp;8 0 3<br>&nbsp;&nbsp;&nbsp;2 1 4<br>&nbsp;&nbsp;&nbsp;7 6 5<br></span><span>目标状态为：</span><span><br>&nbsp;&nbsp;&nbsp;1 2 3<br>&nbsp;&nbsp;&nbsp;8 0 4<br>&nbsp;&nbsp;&nbsp;7 6 5<br></span><span>则一个合法的移动路径为：</span><span><br>&nbsp;&nbsp;&nbsp;8 0 3 &nbsp;&nbsp; 8 1 3 &nbsp;&nbsp; 8 1 3 &nbsp;&nbsp; 0 1 3 &nbsp;&nbsp; 1 0 3 &nbsp;&nbsp; 1 2 3<br>&nbsp;&nbsp;&nbsp;2 1 4 =&gt; 2 0 4 =&gt; 0 2 4 =&gt; 8 2 4 =&gt; 8 2 4 =&gt; 8 0 4<br>&nbsp;&nbsp;&nbsp;7 6 5 &nbsp;&nbsp; 7 6 5 &nbsp;&nbsp; 7 6 5 &nbsp;&nbsp; 7 6 5 &nbsp;&nbsp; 7 6 5 &nbsp;&nbsp; 7 6 5</span></p>
<p><span>另外，在所有可能的从初始状态到目标状态的移动路径中，步数最少的路径被称为最短路径；在上面的例子中，最短路径为</span><span>5</span><span>。如果不存在从初试状态到目标状态的任何路径，则称该组状态无解。</span><span> </span></p>
<p><span>请设计<strong>有效的</strong>（细节请见评分规则）算法找到从八方块的某初试状态到某目标状态的所有可能路径中的最短路径，并用</span><span>C/C++</span><span>实现。</span><span> </span></p>
<p><strong><span>输入数据</span></strong><span>：</span></p>
<p><span>程序需读入已被命名为</span><span>start.txt</span><span>的初始状态和已被命名为</span><span>goal.txt</span><span>的目标状态，这两个文件都由</span><span>9</span><span>个数字组成（</span><span>0</span><span>表示空格，</span><span>1-8</span><span>表示</span><span>8</span><span>个数字方块），每行</span><span>3</span><span>个数字，数字之间用空格隔开。</span><span> </span></p>
<p><strong><span>输出数据</span></strong><span>：</span></p>
<p><span>如果输入数据有解，输出一个表示最短路径的非负的整数；如果输入数据无解，输出</span><span>-1</span><span>。</span><span> </span></p>
<p><strong><span>自测用例</span></strong><span>：</span></p>
<p><span>如果输入为：</span><span><a href="http://star.baidu.com/data/demo/start.txt" target=_blank>start.txt</a></span><span>和</span><span><a href="http://star.baidu.com/data/demo/goal.txt" target=_blank>goal.txt</a></span><span>，则产生的输出应为：</span><span><br>5 </span></p>
<p><span>又例，如果用</span><span><br>7 8 4<br>3 5 6<br>1 0 2<br></span><span>替换</span><span>start.txt</span><span>中的内容，则产生的输出应为：</span><span><br>21 </span></p>
<p><strong><span>评分规则</span></strong><span>：</span></p>
<p><span>1</span><span>）我们将首先使用和自测用例不同的</span><span>10</span><span>个</span><span>start.txt</span><span>以及相同的</span><span>goal.txt</span><span>，每个测试用例的运行时间在一台</span><span>Intel Xeon 2.80GHz 4 CPU/<st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="6" UnitName="g">6G</st1:chmetcnv> </span><span>内存的</span><span>Linux</span><span>机器上应不超过</span><span>10</span><span>秒（内存使用不限制），否则该用例不得分；</span><span> </span></p>
<p><span>2</span><span>）每个选手的总分（精确到小数点后</span><span>6</span><span>位）</span><span>=10</span><span>秒钟内能产生正确结果的测试用例数量</span><span>x10+</span><span>（</span><span>1/</span><span>产生这些正确结果的测试用例的平均运行毫秒</span><span>)</span><span>；</span><span> </span></p>
<p><span>3</span><span>）如果按此评分统计仍不能得出总决赛将决出的一、二、三等奖共计九名获奖者，我们将先设</span><span>N=2</span><span>，然后重复下述过程直至产生最高的</span><span>9</span><span>位得分：用随机生成的另外</span><span>10</span><span>个有解的</span><span>start.txt</span><span>再做测试，并对这</span><span>10*N</span><span>个测试用例用</span><span>2</span><span>）中公式重新计算总分，</span><span>N++</span><span>。</span><span> </span></p>
<img src ="http://www.cppblog.com/cstudy/aggbug/26134.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cstudy/" target="_blank">我爱C</a> 2007-06-12 12:11 <a href="http://www.cppblog.com/cstudy/archive/2007/06/12/26134.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>8除不尽的自然数</title><link>http://www.cppblog.com/cstudy/archive/2006/03/26/4603.html</link><dc:creator>我爱C</dc:creator><author>我爱C</author><pubDate>Sat, 25 Mar 2006 17:04:00 GMT</pubDate><guid>http://www.cppblog.com/cstudy/archive/2006/03/26/4603.html</guid><wfw:comment>http://www.cppblog.com/cstudy/comments/4603.html</wfw:comment><comments>http://www.cppblog.com/cstudy/archive/2006/03/26/4603.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/cstudy/comments/commentRss/4603.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cstudy/services/trackbacks/4603.html</trackback:ping><description><![CDATA[
		<div>
				<font color="#ff9900">一个自然数被8除余1，所得的商被8除也余1，再将第二次的商被8除后余7，最后得到的商为a。又知这个自然数被17除余4，所得的商被17除余15，最后得到一个商是a的2倍。求这个自然数。</font>
		</div>
		<div>
				<font color="#ff9900">
				</font> </div>
		<div>分析：根据题意，可设最后的商为i（i从0开始取值），用逆推法可以列出关系式：</div>
		<div>  (((i*8+7)*8)+1)*8+1=((2*i*17)+15)*17+4</div>
		<div> </div>
		<div>再用试探法求出i的值。</div>
		<div> </div>
		<div>参考程序：</div>
		<div>main()</div>
		<div>{</div>
		<div>   int i;</div>
		<div>   for(i=0;;i++)     /*试探商的值*/</div>
		<div>    if( ((i*8+7)*8+1)*8+1==((2*i*17)+15)*17+4 )</div>
		<div>      break; /*找到满足条件的i的值退出循环*/</div>
		<div> </div>
		<div> printf("the required number is:%d",((2*i*17)+15)*17+4);  /*输出结果*/</div>
		<div>}</div>
<img src ="http://www.cppblog.com/cstudy/aggbug/4603.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cstudy/" target="_blank">我爱C</a> 2006-03-26 01:04 <a href="http://www.cppblog.com/cstudy/archive/2006/03/26/4603.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>验证哥德巴赫猜想</title><link>http://www.cppblog.com/cstudy/archive/2006/03/26/4601.html</link><dc:creator>我爱C</dc:creator><author>我爱C</author><pubDate>Sat, 25 Mar 2006 17:00:00 GMT</pubDate><guid>http://www.cppblog.com/cstudy/archive/2006/03/26/4601.html</guid><wfw:comment>http://www.cppblog.com/cstudy/comments/4601.html</wfw:comment><comments>http://www.cppblog.com/cstudy/archive/2006/03/26/4601.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.cppblog.com/cstudy/comments/commentRss/4601.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cstudy/services/trackbacks/4601.html</trackback:ping><description><![CDATA[
		<table class="fixedTable blogpost" cellspacing="0" width="100%" border="0">
				<tbody>
						<tr>
								<td class="ellipse">
										<span class="bvTitle" id="subjcns!7D71766ABF61047D!132">
												<strong>验证哥德巴赫猜想</strong>
										</span>
								</td>
						</tr>
						<tr>
								<td class="bvh8">
										<strong>
										</strong>
								</td>
						</tr>
						<tr>
								<td id="msgcns!7D71766ABF61047D!132">
										<div>验证哥德巴赫猜想：任一充分大的偶数，可以用两个素数之和表示，例如：<br />4 = 2 + 2<br />6 = 3 + 3<br />..<br />9 8 = 1 9 + 7 9</div>
										<div> </div>
										<div>分析：我们先不考虑怎样判断一个数是否为素数，而从整体上对这个问题进行考虑，可以这样做：读入一个偶数n，将它分成p和q，使n = p + q。怎样分呢？可以令p从2开始，每次加1，而令q = n - p，如果p、q均为素数，则正为所求，否则令p = p + q再试。</div>
										<div> </div>
										<div> </div>
										<div>参考程序：</div>
										<div> </div>
										<div>#include &lt;math.h&gt;<br />#include &lt;stdio.h&gt;<br />main( )<br />{<br />  long int j,n,p,q,flagp,flagq;<br />  printf("please input n :\n");<br />  scanf("%ld",&amp;n );<br />  if (((n%2)!=0)||(n&lt;=4))<br />    printf("input data error!\n");<br />  else<br />   {<br />     p = 1 ;<br />     do {<br />          p = p + 1 ;<br />          q = n - p ;<br />          flagp = 1 ;<br />          for(j=2;j&lt;=(int)(sqrt(p));j++)   <font color="#ff0000"> /*判断p是否为素数*/<br /></font>            {<br />               if ((p%j)==0)<br />               {<br />                 flagp = 0 ;<br />                 break;       <font color="#ff0000">/*不是素数，退出循环*/</font><br />                }<br />              }<br />         flagq=1 ;<br />         for(j=2;j&lt;=(int)(sqrt(q));j++)   <font color="#ff0000">/*判断q是否为素数*/<br /></font><br />           {<br />             if ((q%j)==0)<br />             {<br />               flagq = 0 ;<br />               break ;  <font color="#ff0000">/*不是素数，退出循环*/<br /></font>              }<br />           }<br />     } while(flagp*flagq==0);<br />   printf("%d = %d + %d \n",n，p，q) ;<br />  }</div>
								</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.cppblog.com/cstudy/aggbug/4601.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cstudy/" target="_blank">我爱C</a> 2006-03-26 01:00 <a href="http://www.cppblog.com/cstudy/archive/2006/03/26/4601.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>猴子吃桃问题 </title><link>http://www.cppblog.com/cstudy/archive/2006/03/26/4600.html</link><dc:creator>我爱C</dc:creator><author>我爱C</author><pubDate>Sat, 25 Mar 2006 16:58:00 GMT</pubDate><guid>http://www.cppblog.com/cstudy/archive/2006/03/26/4600.html</guid><wfw:comment>http://www.cppblog.com/cstudy/comments/4600.html</wfw:comment><comments>http://www.cppblog.com/cstudy/archive/2006/03/26/4600.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cstudy/comments/commentRss/4600.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cstudy/services/trackbacks/4600.html</trackback:ping><description><![CDATA[
		<p>
		</p>
		<table class="fixedTable blogpost" cellspacing="0" width="100%" border="0">
				<tbody>
						<tr>
								<td class="ellipse">
										<span class="bvTitle" id="subjcns!7D71766ABF61047D!131">
												<strong>
												</strong>
										</span>
								</td>
						</tr>
						<tr>
								<td class="bvh8">
										<strong>
										</strong>
								</td>
						</tr>
						<tr>
								<td id="msgcns!7D71766ABF61047D!131">
										<div>   <font color="#ff9900">猴子第一天摘下若干个桃子，当即吃了一半，还不瘾，又多吃了一个。第二天早上又将剩下的桃子吃掉一半，又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时，见只剩下一个桃子了。求第一天共摘了多少个桃子。</font></div>
										<div>
												<font color="#ff9900">
												</font> </div>
										<div>程序分析：采取逆向思维的方法，从后往前推断。</div>
										<div> </div>
										<div>参考程序：</div>
										<div>
												<span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'">main()<br />{<br />int day,x1,x2;<br />day=9;<br />x2=1;<br />while(day&gt;0)<br /></span>
												<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体">　</span>
												<span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'">{x1=(x2+1)*2;/*</span>
												<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体">第一天的桃子数是第</span>
												<span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'">2</span>
												<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体">天桃子数加</span>
												<span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'">1</span>
												<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体">后的</span>
												<span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'">2</span>
												<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体">倍</span>
												<span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'">*/<br /></span>
												<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体">　</span>
												<span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'">
														<font face="Times New Roman">
																<span>  </span>x2=x1;<br /></font>
												</span>
												<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体">　</span>
												<span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'">
														<font face="Times New Roman">
																<span>  </span>day--;<br /></font>
												</span>
												<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体">　</span>
												<span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'">}<br />printf("the total is %d\n",x1);<br />}</span>
										</div>
								</td>
						</tr>
				</tbody>
		</table>
		<a href="http://bbs2.365mm.us/bbs/index.php">
		</a>
<img src ="http://www.cppblog.com/cstudy/aggbug/4600.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cstudy/" target="_blank">我爱C</a> 2006-03-26 00:58 <a href="http://www.cppblog.com/cstudy/archive/2006/03/26/4600.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>计算个人所得税</title><link>http://www.cppblog.com/cstudy/archive/2006/03/26/4595.html</link><dc:creator>我爱C</dc:creator><author>我爱C</author><pubDate>Sat, 25 Mar 2006 16:08:00 GMT</pubDate><guid>http://www.cppblog.com/cstudy/archive/2006/03/26/4595.html</guid><wfw:comment>http://www.cppblog.com/cstudy/comments/4595.html</wfw:comment><comments>http://www.cppblog.com/cstudy/archive/2006/03/26/4595.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cstudy/comments/commentRss/4595.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cstudy/services/trackbacks/4595.html</trackback:ping><description><![CDATA[
		<table class="fixedTable blogpost" cellspacing="0" width="100%" border="0">
				<tbody>
						<tr>
								<td class="ellipse">
										<span class="bvTitle" id="subjcns!7D71766ABF61047D!128">
												<strong>计算个人所得税</strong>
										</span>
								</td>
						</tr>
						<tr>
								<td class="bvh8">
										<strong>
										</strong>
								</td>
						</tr>
						<tr>
								<td id="msgcns!7D71766ABF61047D!128">
										<div>
												<p align="left">
														<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">个人取得的工资、薪金所得，是指个人因任职或者受雇而取得的工资、薪金、奖金、年终加薪、劳动分红、津贴、补贴以及与任职或受雇有关的其他所得。</span>
														<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
														</span>
												</p>
												<p align="center">
														<b>
																<span style="FONT-SIZE: 12pt; COLOR: white; FONT-FAMILY: 宋体">工资、薪金所得项目税率表</span>
														</b>
														<b>
																<span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: white; FONT-FAMILY: ˎ̥">
																		<font face="Times New Roman">
																		</font>
																</span>
														</b>
												</p>
												<div align="center">
														<table style="WIDTH: 414px; HEIGHT: 275px" cellspacing="1" cellpadding="0" width="414" border="1">
																<tbody>
																		<tr>
																				<td width="7%">
																						<p align="center">
																								<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">级数</span>
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																								</span>
																						</p>
																				</td>
																				<td width="48%">
																						<p align="center">
																								<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">全月应纳税所得额</span>
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																								</span>
																						</p>
																				</td>
																				<td width="21%">
																						<p align="center">
																								<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">税率</span>
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">%</font>
																								</span>
																						</p>
																				</td>
																				<td width="24%">
																						<p align="center">
																								<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">速算扣除法（元）</span>
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																								</span>
																						</p>
																				</td>
																		</tr>
																		<tr>
																				<td>
																						<p align="center">
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">1</font>
																								</span>
																						</p>
																				</td>
																				<td>
																						<p align="left">
																								<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">不超过</span>
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">500</font>
																								</span>
																								<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">元的</span>
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">
																										</font>
																								</span>
																						</p>
																				</td>
																				<td>
																						<p align="center">
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">5</font>
																								</span>
																						</p>
																				</td>
																				<td>
																						<p align="center">
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">0</font>
																								</span>
																						</p>
																				</td>
																		</tr>
																		<tr>
																				<td>
																						<p align="center">
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">2</font>
																								</span>
																						</p>
																				</td>
																				<td>
																						<p align="left">
																								<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">超过</span>
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">500</font>
																								</span>
																								<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">元至</span>
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">2000</font>
																								</span>
																								<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">元的部分</span>
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">
																										</font>
																								</span>
																						</p>
																				</td>
																				<td>
																						<p align="center">
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">10</font>
																								</span>
																						</p>
																				</td>
																				<td>
																						<p align="center">
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">25</font>
																								</span>
																						</p>
																				</td>
																		</tr>
																		<tr>
																				<td>
																						<p align="center">
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">3</font>
																								</span>
																						</p>
																				</td>
																				<td>
																						<p align="left">
																								<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">超过</span>
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">2000</font>
																								</span>
																								<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">元至</span>
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">5000</font>
																								</span>
																								<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">元的部分</span>
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">
																										</font>
																								</span>
																						</p>
																				</td>
																				<td>
																						<p align="center">
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">15</font>
																								</span>
																						</p>
																				</td>
																				<td>
																						<p align="center">
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">125</font>
																								</span>
																						</p>
																				</td>
																		</tr>
																		<tr>
																				<td>
																						<p align="center">
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">4</font>
																								</span>
																						</p>
																				</td>
																				<td>
																						<p align="left">
																								<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">超过</span>
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">5000</font>
																								</span>
																								<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">元至</span>
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">20000</font>
																								</span>
																								<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">元的部分</span>
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">
																										</font>
																								</span>
																						</p>
																				</td>
																				<td>
																						<p align="center">
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">20</font>
																								</span>
																						</p>
																				</td>
																				<td>
																						<p align="center">
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">375</font>
																								</span>
																						</p>
																				</td>
																		</tr>
																		<tr>
																				<td>
																						<p align="center">
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">5</font>
																								</span>
																						</p>
																				</td>
																				<td>
																						<p align="left">
																								<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">超过</span>
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">20000</font>
																								</span>
																								<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">元至</span>
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">40000</font>
																								</span>
																								<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">元的部分</span>
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">
																										</font>
																								</span>
																						</p>
																				</td>
																				<td>
																						<p align="center">
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">25</font>
																								</span>
																						</p>
																				</td>
																				<td>
																						<p align="center">
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">1375</font>
																								</span>
																						</p>
																				</td>
																		</tr>
																		<tr>
																				<td>
																						<p align="center">
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">6</font>
																								</span>
																						</p>
																				</td>
																				<td>
																						<p align="left">
																								<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">超过</span>
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">40000</font>
																								</span>
																								<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">元至</span>
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">60000</font>
																								</span>
																								<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">元的部分</span>
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">
																										</font>
																								</span>
																						</p>
																				</td>
																				<td>
																						<p align="center">
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">30</font>
																								</span>
																						</p>
																				</td>
																				<td>
																						<p align="center">
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">3375</font>
																								</span>
																						</p>
																				</td>
																		</tr>
																		<tr>
																				<td>
																						<p align="center">
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">7</font>
																								</span>
																						</p>
																				</td>
																				<td>
																						<p align="left">
																								<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">超过</span>
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">60000</font>
																								</span>
																								<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">元至</span>
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">80000</font>
																								</span>
																								<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">元的部分</span>
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">
																										</font>
																								</span>
																						</p>
																				</td>
																				<td>
																						<p align="center">
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">35</font>
																								</span>
																						</p>
																				</td>
																				<td>
																						<p align="center">
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">6375</font>
																								</span>
																						</p>
																				</td>
																		</tr>
																		<tr>
																				<td>
																						<p align="center">
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">8</font>
																								</span>
																						</p>
																				</td>
																				<td>
																						<p align="left">
																								<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">超过</span>
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">80000</font>
																								</span>
																								<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">元至</span>
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">100000</font>
																								</span>
																								<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">元的部分</span>
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">
																										</font>
																								</span>
																						</p>
																				</td>
																				<td>
																						<p align="center">
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">40</font>
																								</span>
																						</p>
																				</td>
																				<td>
																						<p align="center">
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">10375</font>
																								</span>
																						</p>
																				</td>
																		</tr>
																		<tr>
																				<td>
																						<p align="center">
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">9</font>
																								</span>
																						</p>
																				</td>
																				<td>
																						<p align="left">
																								<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">超过</span>
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">100000</font>
																								</span>
																								<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">元的部分</span>
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">
																										</font>
																								</span>
																						</p>
																				</td>
																				<td>
																						<p align="center">
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">45</font>
																								</span>
																						</p>
																				</td>
																				<td>
																						<p align="center">
																								<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																										<font face="Times New Roman">15375</font>
																								</span>
																						</p>
																				</td>
																		</tr>
																</tbody>
														</table>
												</div>
												<p align="left">
														<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																<font face="Times New Roman">    </font>
														</span>
														<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">工资、薪金所得按以下步骤计算缴纳个人所得税：</span>
														<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
														</span>
												</p>
												<p align="left">
														<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																<font face="Times New Roman">    </font>
														</span>
														<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">每月取得工资收入后，先减去个人承担的基本养老保险金、医疗保险金、失业保险金，以及按省级政府规定标准缴纳的住房公积金，再减去费用扣除额</span>
														<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																<font face="Times New Roman">1600</font>
														</span>
														<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">元</span>
														<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																<font face="Times New Roman">/</font>
														</span>
														<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">月（来源于境外的所得以及外籍人员、华侨和香港、澳门、台湾同胞在中国境内的所得每月还可附加减除费用</span>
														<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																<font face="Times New Roman">3200</font>
														</span>
														<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">元），为应纳税所得额，按</span>
														<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																<font face="Times New Roman">5%</font>
														</span>
														<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">至</span>
														<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																<font face="Times New Roman">45%</font>
														</span>
														<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">的九级超额累进税率计算缴纳个人所得税。</span>
														<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
														</span>
												</p>
												<p align="left">
														<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																<font face="Times New Roman">    </font>
														</span>
														<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">计算公式是：</span>
														<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
														</span>
												</p>
												<p align="left">
														<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																<font face="Times New Roman">    </font>
														</span>
														<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">应纳个人所得税税额</span>
														<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																<font face="Times New Roman">=</font>
														</span>
														<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">应纳税所得额</span>
														<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																<font face="Times New Roman">×</font>
														</span>
														<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">适用税率</span>
														<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
																<font face="Times New Roman">-</font>
														</span>
														<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">速算扣除数</span>
														<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
														</span>
												</p>
												<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
														<font face="宋体, MS Song">    </font>
												</span>
												<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">例：王某当月取得工资收入</span>
												<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
														<font face="宋体, MS Song">9000</font>
												</span>
												<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">元，当月个人承担住房公积金、基本养老保险金、医疗保险金、失业保险金共计</span>
												<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
														<font face="宋体, MS Song">1000</font>
												</span>
												<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">元，费用扣除额为</span>
												<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
														<font face="宋体, MS Song">1600</font>
												</span>
												<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">元，则王某当月应纳税所得额</span>
												<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
														<font face="宋体, MS Song">=9000-1000-1600=6400</font>
												</span>
												<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">元。应纳个人所得税税额</span>
												<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: ˎ̥">
														<font face="宋体, MS Song">=6400×20%-375=905</font>
												</span>
												<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">元。</span>
										</div>
										<p> </p>
										<p>参考程序：</p>
										<p>
												<span lang="EN-US">
														<font face="Times New Roman" size="3">main()</font>
												</span>
										</p>
										<p>
												<font size="3">
														<span lang="EN-US">
																<font face="Times New Roman">
																		<span> </span>{<span>  </span>float <span> </span>income,taxincome,tax;<span>  </span>/*</font>
														</span>
														<span style="FONT-FAMILY: 宋体">定义变量收入、应税所得、个人所得税</span>
														<span lang="EN-US">
																<font face="Times New Roman">*/</font>
														</span>
												</font>
										</p>
										<p>
												<span lang="EN-US">
														<font face="Times New Roman" size="3">printf(“please input your income\n”);</font>
												</span>
										</p>
										<p>
												<span lang="EN-US">
														<font face="Times New Roman" size="3">scanf(“%f”,&amp;income);</font>
												</span>
										</p>
										<p>
												<span lang="EN-US">
														<font face="Times New Roman" size="3">taxincome=income-1600;</font>
												</span>
										</p>
										<p>
												<span lang="EN-US">
														<font face="Times New Roman" size="3">if(taxincome&lt;=0)</font>
												</span>
										</p>
										<p>
												<span lang="EN-US">
														<font size="3">
																<font face="Times New Roman">
																		<span>   </span>tax=0;</font>
														</font>
												</span>
										</p>
										<p>
												<span lang="EN-US">
														<font face="Times New Roman" size="3">if(taxincome&lt;=500)</font>
												</span>
										</p>
										<p>
												<span lang="EN-US">
														<font size="3">
																<font face="Times New Roman">
																		<span>   </span>tax=taxincome*0.05;</font>
														</font>
												</span>
										</p>
										<p>
												<span lang="EN-US">
														<font face="Times New Roman" size="3">if(taxincome&gt;500 &amp;&amp; taxincome&lt;=2000)</font>
												</span>
										</p>
										<p>
												<span lang="EN-US">
														<font size="3">
																<font face="Times New Roman">
																		<span>   </span>tax=taxincome*0.1-25;</font>
														</font>
												</span>
										</p>
										<p>
												<span lang="EN-US">
														<font face="Times New Roman" size="3">if(taxincome&gt;2000 &amp;&amp; taxincome&lt;=5000)</font>
												</span>
										</p>
										<p>
												<span lang="EN-US">
														<font size="3">
																<font face="Times New Roman">
																		<span>   </span>tax=taxincome*0.15-125;</font>
														</font>
												</span>
										</p>
										<p>
												<span lang="EN-US">
														<font face="Times New Roman" size="3">if(taxincome&gt;5000 &amp;&amp; taxincome&lt;=20000)</font>
												</span>
										</p>
										<p>
												<span lang="EN-US">
														<font size="3">
																<font face="Times New Roman">
																		<span>   </span>tax=taxincome*0.2-375;</font>
														</font>
												</span>
										</p>
										<p>
												<span lang="EN-US">
														<font face="Times New Roman" size="3">if(taxincome&gt;20000 &amp;&amp; taxincome&lt;=40000)</font>
												</span>
										</p>
										<p>
												<span lang="EN-US">
														<font size="3">
																<font face="Times New Roman">
																		<span>   </span>tax=taxincome*0.25-1375;</font>
														</font>
												</span>
										</p>
										<p>
												<span lang="EN-US">
														<font face="Times New Roman" size="3">if(taxincome&gt;40000 &amp;&amp; taxincome&lt;=60000)</font>
												</span>
										</p>
										<p>
												<span lang="EN-US">
														<font size="3">
																<font face="Times New Roman">
																		<span>   </span>tax=taxincome*0.3-3375;</font>
														</font>
												</span>
										</p>
										<p>
												<span lang="EN-US">
														<font face="Times New Roman" size="3">if(taxincome&gt;60000 &amp;&amp; taxincome&lt;=80000)</font>
												</span>
										</p>
										<p>
												<span lang="EN-US">
														<font size="3">
																<font face="Times New Roman">
																		<span>   </span>tax=taxincome*0.35-6375;</font>
														</font>
												</span>
										</p>
										<p>
												<span lang="EN-US">
														<font face="Times New Roman" size="3">if(taxincome&gt;80000 &amp;&amp; taxincome&lt;=100000)</font>
												</span>
										</p>
										<p>
												<span lang="EN-US">
														<font size="3">
																<font face="Times New Roman">
																		<span>   </span>tax=taxincome*0.4-10375;</font>
														</font>
												</span>
										</p>
										<p>
												<span lang="EN-US">
														<font face="Times New Roman" size="3">if(taxincome&gt;100000)</font>
												</span>
										</p>
										<p>
												<span lang="EN-US">
														<font size="3">
																<font face="Times New Roman">
																		<span>   </span>tax=taxincome*0.45-1575;</font>
														</font>
												</span>
										</p>
										<p>
												<span lang="EN-US">
														<font face="Times New Roman" size="3">
														</font>
												</span> </p>
										<p>
												<span lang="EN-US">
														<font face="Times New Roman" size="3">printf(“your income is:%.2f\n”,income);</font>
												</span>
										</p>
										<p>
												<span lang="EN-US">
														<font face="Times New Roman" size="3">printf(“your income tax is:%.2f”,tax);</font>
												</span>
										</p>
										<p>
												<span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'">}</span>
										</p>
								</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.cppblog.com/cstudy/aggbug/4595.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cstudy/" target="_blank">我爱C</a> 2006-03-26 00:08 <a href="http://www.cppblog.com/cstudy/archive/2006/03/26/4595.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>