问题标题: 酷町堂:1740 密码变换经验值:800 时间限制:1000毫秒 题目描述 Description 小王同学设置了一密码变换规则如下:一个正整数对应一个字符;如果该数求余123的值在97-122范围,变换为ASCII为该余数对应的小写字符;如果变换不了小写字符,将该数求余91,若余数在65-90范围,变换为ASCII为该余数对应的大写字符;如果变换不了字母,将该数求余58,若余数在48-57范围内,变换为ASCII为该余数对应的数字字符;如果变换不了大小写及数字字符,变换为“\ ”。输入一个正整数,输出变换后的字符。 输入描述 Input Description 输入一个正整数n(1<=

0
1
已解决
李沫朴
李沫朴
新手天翼
新手天翼

1740   密码变换

经验值:800 时间限制:1000毫秒

题目描述 Description

小王同学设置了一密码变换规则如下:一个正整数对应一个字符;如果该数求余123的值在97-122范围,变换为ASCII为该余数对应的小写字符;如果变换不了小写字符,将该数求余91,若余数在65-90范围,变换为ASCII为该余数对应的大写字符;如果变换不了字母,将该数求余58,若余数在48-57范围内,变换为ASCII为该余数对应的数字字符;如果变换不了大小写及数字字符,变换为“\ ”。输入一个正整数,输出变换后的字符。

输入描述 Input Description

输入一个正整数n(1<=n<=1000)表示原始密码。

输出描述 Output Description

输出变换后的密码。

样例输入 Sample Input

42

样例输出 Sample Output

\


1
已采纳
包思远
包思远
新手启示者
新手启示者
    定义n;
    输入n;
    if(n%123>=97&&n%123<=122){
        cout<<(char)(n%123);
    } 
    else if(n%91>=65&&n%91<=90){
        cout<<(char)(n%91);
    }
    else if(n%58>=48&&n%58<=57){
        cout<<(char)(n%58);
    }
    else{
        cout<<(char)(92);
    }

 

1
0
蔡辰夕
蔡辰夕
新手启示者
新手启示者

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    char a[1000], b[1000];
    cin >> n;
    cin >> a;
    sort(a, a + n);
    for (int i = 0; i < n; i++) b[n - i - 1] = a[i];
    int t = 1;
    while (strcmp(a, b)) {
        t++;
        for (int i = 0; i < n; i++) cout << a[i];
        cout << endl;
        next_permutation(a, a + n);
    }
    for (int i = 0; i < n; i++)cout << b[i];
    cout << endl;
    cout << t;
    return 0;
}
 

我要回答