算法设计与分析:第二章 递归 2.3使x^2为一个各位数字互不相同的九位数
来源:互联网 发布:淘宝的muji官方旗舰店 编辑:程序博客网 时间:2024/06/05 07:47
/*求x:使x^2为一个各位数字互不相同的九位数分析:对于x^2,分解各位,采用一个A[10]数组,A[i]初始设为0:表示该位上还没有数字A[i]为1:表示该位上已经含有数字;剪枝条件是如果当前A[iNum] == 1表明之前已经有一个这样的数字,因此此时可以删除*/#include <stdio.h>#include <string.h>int iVisArr[10] = {0};bool divideNum(long long iNum,int* pVisArr){memset(pVisArr,0,sizeof(pVisArr));int iNumCopy = iNum;int iCnt = 0;//计数器用于判断是不是出现9个数字do{int iDigitNum = iNum % 10;iNum /= 10;if( pVisArr[iDigitNum] == 0 )//如果当前数字没有出现过,那么就累加{pVisArr[iDigitNum]++;iCnt++;}else//如果已经出现过,说明出现重复{return false;}}while(iNum);if(iCnt != 9){return false;}else{return true;}}void process(){for(long long i = 10000; i < 35000 ; i++){if(divideNum(i*i,iVisArr)){printf("%d\n",i);}}}int main(int argc,char* argv[]){process();getchar();return 0;}
0 0
- 算法设计与分析:第二章 递归 2.3使x^2为一个各位数字互不相同的九位数
- 求x, 使x的平方为一个各位数字互不相同的9位数
- 一个各位数字互不相同的四位数,把所有的数字从大到小排序后得到a,从小到大后得到b,然后用a-b替换原来这个数,并且继续操作。
- 基础算法题(1)—— 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的四位数?
- 求这样的两个数据:5位数=2乘以4位数,9个数字互不相同。
- 算法设计与分析:第二章 递归 2.6基于递归的插入排序
- 算法设计与分析:第二章 递归 2.2买商品
- 算法设计与分析:第二章 递归 2.7全排列
- 假设你有一个各位数字互不相同的四位数,把所有的数字从大到小排序后得到a,从小到大后得到b,然后用a-b替换原来这个数,并且继续操作。例如,从1234出发,依次可以得到4321-1234=3087、87
- 57-一个互不相同的4位数乘以1位数等于这个4位数的倒叙的数有?
- 输出一个多位数的各位上的数字
- 求一个整数的各位数字之和,位数
- 有n个1-9的互不重复的数字,能组成多少个互不相同且无重复数字的n-1位数?都是多少?
- 设计一个递归算法,删除不带头结点的单链表中所有值为x的结点
- 生成互不相同随机数的一种算法
- 生成互不相同随机数的一种算法
- 15_由1、2、3、4四个数字,能组成多少个互不相同且一个数字中无重复数字的三位数?
- 面试题:有1、2、3、4四个数字,能组成多少个互不相同且一个数字中无重复数字的三位数,并把它们都输出。
- 初学C语言
- mongodb初识
- SurfaceView的一些简单记录
- 省市联动JQ封装比较简洁调用的方法
- HDU 4355 Party All the Time(三分|二分)
- 算法设计与分析:第二章 递归 2.3使x^2为一个各位数字互不相同的九位数
- 11g数据库删除数据库节点增加数据库节点
- hdu 2546饭卡
- Linux x64系统上安装 oracle 11g R2 x64
- nyoj 20 吝啬的国度
- 一、IOS程序执行顺序、APPdelegate代理方法执行顺序、ViewController 生命周期
- NPM 镜像设置
- 算法设计与分析:第二章 递归 2.4报数退圈游戏
- 二叉树中的最大路径和