[关闭]
@chawuciren 2018-10-23T14:28:52.000000Z 字数 594 阅读 537

Self Dividing Number

leetcode


  1. /**
  2. * Return an array of size *returnSize.
  3. * Note: The returned array must be malloced, assume caller calls free().
  4. */
  5. int* selfDividingNumbers(int left, int right,int *returnSize) {
  6. int res[10000]={0};
  7. int n=right-left;
  8. int A=0;//存放每一位的数
  9. int count=0;//计数
  10. for(;left<=right;left++){//验证从left到right的每一个数
  11. int B=left;//存下left
  12. for(;;){//嵌套提取每一位并验证是否为自除,否则break,进入上一级循环
  13. A=left%10;
  14. if(A==0)
  15. break;
  16. if(B%A!=0)//A是否为left的因数
  17. break;
  18. left/=10;
  19. if(left==0){
  20. res[count]=B;
  21. count+=1;
  22. break;
  23. }
  24. }
  25. left=B;//让left还原
  26. }
  27. *returnSize=count;
  28. int *result=(int*)malloc(count*sizeof(int));
  29. for(int i=0;i<count;i++)
  30. {
  31. result[i]=res[i];
  32. }
  33. return result;
  34. }

在此输入正文

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注