SDUTOJ3114-小鑫need help

本文介绍了一个简单的编程问题,需要读取一系列包含字母和数字的字符串,然后将字符串逆序并转换为特定形式的密码。对于字母,转换为其ASCII码值;数字则保持不变。

小鑫need help

Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^

题目描述

小鑫遇难了!!!小鑫被巫婆关在巫婆的地牢里了,地牢的门上有个密码锁,密码锁会显示一个字符串,密码是字符串逆序之后每个字符Ascll码的值,当然,数字是不需要转换的。
例:a3b  首先,逆序后的序列为 b3a ,‘b’的Ascll码为98,’3’不需要转换,’a’的Ascll码为97,所以密码为:98397。小鑫已经快要不行了,你能不能破解密码,救救他?

输入

多组输入。
每组输入只有一行,字符串s,s的长度length为(1 <= length <= 100)。字符串只包含大写字母、小写字母和数字。

输出

输出转换后密码的结果。

示例输入

a3b
abcd123
d3c2b1a

示例输出

98397
321100999897
971982993100


 这题真是水到不能再水了,直接输入一个字符串,然后一个字符一个字符地判断,如果是数字就直接输出字符型,如果不是数字就输出整型(整型即为该字符的ASCⅡ码)。


代码

#include <cstdio>
#include <cstring>

int main()
{
    char str[110];
    int i;
    while(~scanf("%s",str))
    {
        for(i=strlen(str)-1;i>=0;i--)
        {
            if(str[i]>='0'&&str[i]<='9')
            {
                printf("%c",str[i]);
            }
            else
            {
                printf("%d",str[i]);
            }
        }
        printf("\n");
    }
    return 0;
}


### 关于 SDUTOJ 平台上离散数学中群的判定 #### 背景介绍 在离散数学中,“群”的定义是一个代数结构,它由一个集合 \( G \) 和该集合上的二元运算 \( * \) 组成,并满足四个基本性质:封闭性、结合律、单位元的存在性和逆元的存在性[^1]。 对于 SDUTOJ 上涉及“群的判定”类问题,通常会提供一组数据来验证这些条件是否成立。这类问题可以通过编程实现自动化判断过程。下面详细介绍如何通过算法设计完成此类任务。 --- #### 封闭性检验 给定集合 \( S=\{a_1,a_2,...,a_n\} \),以及对应的乘法表(或操作表),需确认任意两个元素相乘的结果仍属于原集合\(S\)。 ```python def check_closure(operation_table): n = len(operation_table) for i in range(n): for j in range(n): result_index = operation_table[i][j] if not (0 <= result_index < n): return False # 如果结果不在有效索引范围内,则违反封闭性 return True ``` 此函数遍历整个操作表并检查每一对输入对应的结果是否仍然位于合法范围之内[^2]。 --- #### 单位元查找与验证 如果存在某个特定元素e使得对于所有的g∈G都有 g*e=e*g=g 成立的话,e就是这个群里的唯一单位元. ```python def find_identity_element(operation_table): n = len(operation_table) possible_identities = [] for candidate_e in range(n): is_valid = True # Check left identity property: e * a_i == a_i for row_idx in range(n): if operation_table[candidate_e][row_idx] != row_idx: is_valid = False # Also need to verify right side since we want two-sided identities here if is_valid: for col_idx in range(n): if operation_table[col_idx][candidate_e] != col_idx: is_valid = False if is_valid: possible_identities.append(candidate_e) return None if len(possible_identities)!=1 else possible_identities[0] ``` 上述代码尝试找到可能存在的单位元,并确保它是唯一的两面单位元[^3]。 --- #### 结合律检测 要证明某组数据遵循结合律(a*(b*c)=(a*b)*c),理论上需要穷举所有可能性组合来进行测试.然而实际应用当中往往采用随机抽样方法近似代替全面覆盖. --- #### 逆元发现机制 一旦确定了有效的单位元之后就可以进一步去探索各个成员各自的倒置伙伴关系是否存在. ```python def has_inverses_for_all_elements(operation_table,identity): n=len(operation_table) inverses_found=[False]*n for elem_a in range(n): found=False for elem_b in range(n): product=operation_table[elem_a][elem_b] if product==identity: inverses_found[elem_a]=True break return all(inverses_found) ``` 这段脚本旨在逐一排查每一个成分能否寻得相应的反向关联项[^4]. --- ### 总结说明 综合以上几个方面的考量因素可以构建起完整的解决方案框架用于处理类似SDUTOJ平台提出的有关离散数学领域内的'群’概念判别挑战项目。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值