题解 | #提取不重复的整数#

提取不重复的整数

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;
}

全部评论

相关推荐

AAA专业长城贴瓷砖刘大爷:这样的简历我会直接丢进垃圾桶,花里胡哨的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务