L1-027 出租 (20 分)

简介: L1-027 出租 (20 分)

下面是新浪微博上曾经很火的一张图:

8f677b596a6ca14dad26207fc991d6c6.jpg


一时间网上一片求救声,急问这个怎么破。其实这段代码很简单,index数组就是arr数组的下标,index[0]=2 对应 arr[2]=1,index[1]=0 对应 arr[0]=8,index[2]=3 对应 arr[3]=0,以此类推…… 很容易得到电话号码是18013820100。


本题要求你编写一个程序,为任何一个电话号码生成这段代码 —— 事实上,只要生成最前面两行就可以了,后面内容是不变的。


输入格式:

输入在一行中给出一个由11位数字组成的手机号码。


输出格式:

为输入的号码生成代码的前两行,其中arr中的数字必须按递减顺序给出。


输入样例:

18013820100

结尾无空行


输出样例:

1. int[] arr = new int[]{8,3,2,1,0};
2. int[] index = new int[]{3,0,4,3,1,0,2,4,3,4,4};

结尾无空行


#include<bits/stdc++.h>
using namespace std;
int a[10];
int main()
{
    string s;
    int f=0;
    vector<int>res;
    cin>>s;
    for(auto x:s)
        a[x-'0']++;//记录出现次数
    cout<<"int[] arr = new int[]{";
    for(int i=10;i>=0;i--)//从大到小遍历
    {
        if(a[i])//出现次数不为零就输出
        {
            if(f++) cout<<',';//控制格式
            cout<<i;
            res.push_back(i);//存入动态数组
        }
    }
    f=0;
    cout<<"};\nint[] index = new int[]{";
    for(int i=0;i<s.size();i++)
    {
        for(int j=0;j<res.size();j++)
        {
            if(res[j]==s[i]-'0')//查找每个字符在字符串中的下标
            {
                if(f++) cout<<',';//控制格式
                cout<<j;//输出下标
            }
        }
    }
    cout<<"};";
    return 0;
}


目录
相关文章
考研真题)某银行提供了 1 个服务窗口和 10 个供顾客等待时使用的座位。顾客到达银行时,若有空座位,则到取号机上领取一个号,等待叫号。取号机每次仅允许一位顾客使用。当营业员空闲时,通过叫号选取一位顾
考研真题)某银行提供了 1 个服务窗口和 10 个供顾客等待时使用的座位。顾客到达银行时,若有空座位,则到取号机上领取一个号,等待叫号。取号机每次仅允许一位顾客使用。当营业员空闲时,通过叫号选取一位顾
|
3月前
1053 住房空置率 (20 分)
1053 住房空置率 (20 分)
L2-028 秀恩爱分得快 (25 分)
L2-028 秀恩爱分得快 (25 分)
147 0
|
算法
算法题(出租)
算法题(出租)
算法题(出租)
|
C++
R7-3 出租 (20 分)
R7-3 出租 (20 分)
84 0
R7-3 出租 (20 分)
|
Java 测试技术
Java月饼月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需 求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一
Java月饼月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需 求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一
138 0
|
机器学习/深度学习
某销售公司在年末的时候会向员工发放红包,发放的红包金额共有5种,获取的条件各不相同:   1) 五颗星红包,每人8000元,平均月绩效大于80件商品(>80),并且在本年度满勤; 2) 四颗星红包,每
某销售公司在年末的时候会向员工发放红包,发放的红包金额共有5种,获取的条件各不相同:   1) 五颗星红包,每人8000元,平均月绩效大于80件商品(>80),并且在本年度满勤; 2) 四颗星红包,每
227 0
h0131. 钞票 (15 分)
h0131. 钞票 (15 分)
101 0
L1-049 天梯赛座位分配 (20 分)
L1-049 天梯赛座位分配 (20 分)
262 0
L1-051 打折 (5 分)
L1-051 打折 (5 分)
238 0