2729. 判断一个数是否迷人
给你一个三位数整数 n 。
如果经过以下修改得到的数字 恰好 包含数字 1 到 9 各一次且不包含任何 0 ,那么我们称数字 n 是 迷人的 :
将 n 与数字 2 * n 和 3 * n 连接 。
如果 n 是迷人的,返回 true,否则返回 false 。
连接 两个数字表示把它们首尾相接连在一起。比方说 121 和 371 连接得到 121371 。
示例 1:
输入:n = 192
输出:true
解释:我们将数字 n = 192 ,2 * n = 384 和 3 * n = 576 连接,得到 192384576 。这个数字包含 1 到 9 恰好各一次。
示例 2:
输入:n = 100
输出:false
解释:我们将数字 n = 100 ,2 * n = 200 和 3 * n = 300 连接,得到 100200300 。这个数字不符合上述条件。
这题没什么难的啊,解题代码如下:
bool find(int *r,int n){
while(n){
int a=n%10;
if(a==0){
return true;
}
r[a]++;
n=n/10;
}
return false;
}
bool isFascinating(int n){
int *r=(int *)malloc(sizeof(int)*10);
for(int i=0;i<10;i++){
r[i]=0;
}
if(find(r,n)){
return false;
}
if(find(r,2*n)){
return false;
}
if(find(r,3*n)){
return false;
}
for(int i=1;i<10;i++){
if(r[i]!=1){
return false;
}
}
return true;
}