题解 | #提取不重复的整数#
提取不重复的整数
https://www.nowcoder.com/practice/253986e66d114d378ae8de2e6c4577c1
#include <iostream> #include<math.h> using namespace std; int main() { int number; //把信息储存进入数组,数组的序号代表出现的数组,携带的信息是10+优先级 int a[10]={0}; cin>>number; int flag=1; int final=0; do { //跳过出现数字以及重复数字 if(a[number%10] == 0) { a[number%10]=10+flag; flag++; } number = number/10; }while(number); int ten_piont=0; //把位数求出来 for(int i=0;i<10;i++) { if(a[i]!=0) { ten_piont++; } } for(int i=0;i<10;i++) { if(a[i]!=0) { //把加权值取出来然后次方 final = final+i*(pow(10,ten_piont-a[i]%10)); } } cout<<final<<endl; return 0; }