2017网易校招三道编程题(较简单,三道均100%AC)
1.数字与数位问题
时间限制:C/C++语言 1000MS;其他语言 3000MS
内存限制:C/C++语言 65536KB;其他语言 589824KB
题目描述:
给出一个非负整数,在[0, 10^n)范围内统计各个数位上的数字均不同的整数个数。
举个例子:
当n=2,答案为91,排除掉{11,22,33,44,55,66,77,88,99}
输入
输入一个非负整数n
输出
输出各个数位上的数字均不同的整数个数
样例输入
1
样例输出
10
#include<iostream>
#include<algorithm>
#include<vector>
#include<set>
using namespace std;
bool isDiff(int n){
int i=n;
set<int> seti;
while(i){
int mod = i%10;
if(seti.count(mod))return false;
else seti.insert(mod);
i = i/10;
}
return true;
}
int getNum(int n)
{
long long max = pow(10,n);