CS704:自我数(Self Numbers)
(来源: POJ 1316 ZOJ 1180,程序设计方法及在线实践指导(王衍等)例4.7 P161) 问题描述:
1949年,印度数学家D.R.Kaprekar发现了一类叫做自我数(Self Numbers)的数。对于任一正整数n,定义d(n)为n加上n的每一位数字得到的总和。
例如,d(75)=75+7+5=87
取任意正整数n作为出发点,你可以建立一个无穷的正整数序列n,d(n),d(d(n)),d(d(d(n))),…。
例如,如果你从33开始,下一个数字就是33+3+3=39,再下一个是39+3+9=51,再下一个是51+5+1=57,…。如此变产生一个整数数列:
33,39,51,69,84,96,111,114,120,123,129,141,……
数字n被叫做整数d(n)的生成器。在如上的数列中,33是39的生成器,39是51的生成器,51是57的生成器,等等。
有些数字有多于一个生成器,如101有2个生成器,91和100.而一个没有生成器的数字则称作自我数(Self Numbers)。100以内的自我数共有13个:1,3,5,7,9,20,31,42,53,64,75,86和97。 输入:
此题无输入。 输出:
输出所有小于或等于10000的正的自我数,以升序排列,并且每个数占一行。 样例输入:
此题无输入。 样例输出: 1 3 5 7 9
…<-这里有许多自我数 9949 9960 …
CS705:各位数码全为1的数(Ones)
(来源:POJ 2551 ZOJ 1889,程序设计方法及在线实践指导(王衍等) P163) 问题描述:
给定任一整数n,0 7 9901 样例输出: 3 6 12 CS706:积木(Blocks) (来源:POJ 2363 ZOJ 1910,程序设计方法及在线实践指导(王衍等) P166) 问题描述: Donald想给他的小侄子送礼物。Donald是一个传统的人,他给他的小侄子选择了一套积木。这套积木共N个,每个积木都是一个立方体,长宽高都是1英寸。Donald想把这些积木放到一个长方体里,用牛皮纸包装起来托运,请问,Donald至少需要多大的牛皮纸? 输入: 输入文件的第1行为一个整数C,代表测试数据的数目。每个测试数据占一行,为一个正整数N,表示需要包装的积木数目,N不超过1000. 输出: 对每个测试数据,输出占一行,为包装这N个积木需要牛皮纸的最小面积,单位为平方英寸。 样例输入: 3 9 26 100 样例输出: 30 82 130