字符串转了个体

字符串专题之计算表达式

1这种表达式的计算就是先计算乘除再计算加减(加减放到最后都转换为加法)
放到栈里面 ,加法变成减法比较方便

/*
二十四点
来源:CCF

标签:

参考资料:

相似题目:

背景
二十四点是一款著名的纸牌游戏,其游戏的目标是使用 3 个加减乘除运算使得 4张纸牌上数字的运算结果为 24。

题目
定义每一个游戏由 4 个从 1-9 的数字和 3 个四则运算符组成,保证四则运算符将数字两两隔开,不存在括号和其他字符,运算顺序按照四则运算顺序进行。其中加法用符号 + 表示,减法用符号 - 表示,乘法用小写字母 x 表示,除法用符号 / 表示。在游戏里除法为整除,例如 2 / 3 = 0,3 / 2 = 1, 4 / 2 = 2。
老师给了你 n 个游戏的解,请你编写程序验证每个游戏的结果是否为 24 。

输入
从标准输入读入数据。第一行输入一个整数 n,从第 2 行开始到第 n + 1 行中,每一行包含一个长度为 7的字符串,为上述的 24 点游戏,保证数据格式合法。

输出
输出到标准输出。
包含 n 行,对于每一个游戏,如果其结果为 24 则输出字符串 Yes,否则输出字符串 No。

输入样例
10
9+3+4x3
5+4x5x5
7-9-9+8
5x6/5x4
3+5+7+9
1x1+9-9
1x9-5/9
8/5+6x9
6x7-3x6
6x4+4/5

输出样例
Yes
No
No
Yes
Yes
No
No
No
Yes
Yes

样例解释
9+3+4 × 3 = 24
5+4 × 5 × 5 = 105
7 − 9 − 9+8= −3
5 × 6/5 × 4 = 24
3 + 5 + 7 + 9 = 24
1 × 1+9 − 9=1
1 × 9 − 5/9 = 9
8/5 + 6 × 9 = 55
6 × 7 − 3 × 6 = 24
6 × 4 + 4/5 = 24
*/
//这种表达式的计算就是先计算乘除再计算加减(加减放到最后都转换为加法)
//放到栈里面 ,加法变成减法比较方便 
#include<stdio.h>
#include<string.h>
#include<stack>
using namespace std;
int n;
char str[10];
stack<int> num;
stack<char> sign;
int main()
{
	scanf("%d",&n);
	getchar();
	for(int i=0;i<n;i++)
	{
		gets(str);
		while(!num.empty()) num.pop();//别忘了清空栈
		while(!sign.empty()) sign.pop();
		int j=0;
		while(j<strlen(str))
		{
			if(str[j]>'0'&&str[j]<='9') num.push(str[j]-'0');
			else
			{
				if(str[j]=='+') sign.push('+');
				else if(str[j]=='-')
				{
					num.push((str[j+1]-'0')*(-1));
					sign.push('+');
					j++;
				}
				else if(str[j]=='x')
				{
					int lhs=num.top();
					num.pop();
					num.push(lhs*(str[j+1]-'0'));
					j++;
				}
				else if(str[j]=='/')
				{
					int lhs=num.top();
					num.pop();
					num.push(lhs/(str[j+1]-'0'));
					j++;
				}
			}
		}
	}
	while(!sign.empty())
	{
		int rhs=num.top();
		num.pop();
		int lhs=num.top();
		sign.pop();
		num.push(lhs+rhs);
	}
	int ans=num.top();
	if(ans==24) printf("Yes\n");
	else printf("No\n");
	return 0;
}

字符串专题之string的超时!!!!!,我队友写的求模大法好

/*
L1-6 同构数 (15分)
小明很喜欢研究数字规律,他发现有一些数值平方后会有一种奇怪的现象,他把会出现这种现象的数叫“同构数”。“同构数”是指这样的一种数,会出现在它的平方的右端的数。例如,5是25右边的数,25是625右边的数,5和25都是同构数。小明觉得这些数并不止一两个,现给定正整数m和n,请帮他找出m和n之间(包括m和n)全部同构数。

输入格式:
输入只有1行.包含两个正整数m,n(m<n)。

输出格式:
按照递增的顺序输出m和n之间的全部同构数。相邻两个数之间用空格分开,行末不能有多余空格。

输入样例:
1 20
输出样例:
1 5 6
*/
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 10010;
const int INF = 0x3fffffff;
const double PI = acos(-1);

vector<ll>v;
int main(){
	ll m, n, ans = 0;
	scanf("%lld%lld", &m, &n);
	for(ll i = m; i <= n; i++){
		ll t = i % 10;
		if(t != 1 && t != 5 && t != 6) continue;
		t = i * i;
		ll k = (int)log10(i) + 1;
		if(t % (int)pow(10,k) == i) v.push_back(i);
	}
	
	for(auto i = v.begin(); i != v.end(); i++)
		printf("%s%d", i == v.begin() ? "" : " ", *i);
	 
    return 0;
}
### 欧姆龙字符换为字符串的方法 在工业自动化领域,欧姆龙(Omron)PLC设备常用于数据采集和控制。为了实现字符与字符串之间的换,通常需要借助特定的数据处理指令以及ASCII编码规则来完成。 #### ASCII 编码基础 ASCII 是一种常见的字符编码标准,在 PLC 中经常被用来表示字符型数据。每一个可打印的字符都对应一个唯一的数值范围 (0 到 127)[^2]。因此,如果要将未编码的字节数组换为字符串,则可以通过读取这些字节对应的 ASCII 值,并将其映射到相应的字符上。 #### 数据类型换 对于欧姆龙 CP 系列 PLC 来说,其内部支持多种基本数据类型的相互化,其中包括整数、浮点数以及字符串等形式间的切换过程[^3]。具体而言: - **从字节数组到字符串**:假设存在一段连续存储单元中的原始二进制信息流,那么可以利用专门设计好的函数块或者梯形图逻辑逐步解析该序列里的每一位成分;再按照预定义格式重组成为最终目标——即人类可识别的文字表述形式。 以下是基于某些通用原则下的伪代码展示如何执行上述操作的一个例子: ```python def byte_array_to_string(byte_array): result = "" for b in byte_array: char_value = int(b) & 0xFF # Ensure value is within valid range of a single byte. if 32 <= char_value <= 126: # Check if it's printable ASCII character. result += chr(char_value) return result ``` 此段脚本片段展示了怎样遍历整个输入参数列表`byte_array`, 并逐项提取其中所含有的个体组成部分, 同时应用Python内置库函数 `chr()` 将十进制数字变为相应的大写字母表征符号[^1]. 值得注意的是实际应用场景下可能还需要考虑诸如大小端模式(endianess), 非法/不可见字符过滤等问题. 另外,在ABAP环境中也可以通过类似的思路来进行字符串拼接和特殊字符如回车换行符(`CR LF`) 的嵌入工作[^4]: ```abap DATA: lv_crlf TYPE string VALUE cl_abap_char_utilities=>cr_lf, lv_output TYPE string. lv_output = |This is line one.{lv_crlf}And this is line two.| . WRITE / lv_output. ``` 以上示例说明了即使是在不同的开发平台之上依旧遵循着一致的核心理念—即将离散位元串连起来形成有意义的整体表达式结构体.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值