回文数的判断编写函数 palindromeNumber,求[200,3000]范围内的回文数有哪些,在主函数中调用该函数。
输出区间[200,3000]中所有的回文数,一行一个回文数,不需要输出其它无关的字符。回文数是指顺着读和反着读都相同的数字
123456789101112131415161718192021222324252627282930void palindromeNumber(){ int arr[4]; int x = 0; int num = 0; for (int i = 200; i <= 3000; i++) { x = 0; num = 0; x = i; while ((x / 10) > 0) { arr[num] = x % 10; x = x / 10; num++; } arr[num] = x % 10; if (arr[0] == arr[num] && arr[1] == arr[num - 1]) { print ...
变种水仙花(Lily Number的判断)题目:变种水仙花数-Lily Number:把任意的数字,从中间拆分成两个数字,比如1461 可以拆分成(1和461),(14和61),(146和1),如果所有拆分后的乘积之和等于自身,则是一个Lily Number.例如:
1234例如:655 =6*55+65*51461=1*461+14*61+146*1
求出5位数中的所有 Lily Number.
这个题目的关键在于如何将一个数拆分成如上所示的样子,这让我们很容易想到取模和除法的运算。首先我们用一个for循环将我们所要判断的数组涵盖进去,接着我们创建一个函数func,用来计算一个数的拆分后的乘积和。在该函数中我们创建两个变量a和sum,其中a用作取模和除数运算中的除数,sum用来存放拆分之后的和。接着我们利用while循环来实现一个数的拆分后的成绩和,我们让x/a>0作为循环的条件,因为一个数拆分最多拆成最高位和后面几位的情况(不可能拆成0和它本身,这样不符合条件),循环中我们进行*(x % a) (x / a)的操作即是拆分后的乘积(a为拆分一个数的断点 ...


