1152

本文介绍了一种使用暴力搜索方法来判断素数的算法,并通过字符串截取和转换为整数的功能,从输入的字符串中寻找长度为k的素数子串。文章详细展示了算法的实现过程,包括如何将字符串转换为整数,以及如何使用平方根优化的素数判断函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

素数判断,暴力搜索

string.substr(start,len); //参数分别是开始位置,和截取字串长度。

 

数字转字符串   to_string(int value);

字符串转数字   stoi(string str);

                        stol(string str);

                        stof(string str);

 

#include<iostream>
#include<string>
#include<cmath>
using namespace std;
bool IsPrime(int a);
int main()
{
	int n, k;
	string s;
	cin >> n >> k;
	cin >> s;
	int l = s.length();
	bool flag = false;
	for (int i = 0; i+k-1 < l; i++)
	{
		string str;
		int a;
		str = s.substr(i, k);
		a = stoi(str);
		if (a > 0)
		{
			if (IsPrime(a))
			{
				flag = true;
				cout << str << endl;
				break;
			}
		}
		
	}
	if (!flag)
		cout << "404" << endl;
	system("pause");
	return 0;
}
bool IsPrime(int a)
{
	for (int i = 2; i <= sqrt(a); i++)
	{
		if (a%i == 0)
			return false;
	}
	return true;
}

 

<think>嗯,用户需要查找杭电OJ(HDU OJ)上的题目1152的信息或解法。首先,我需要确认这个题目的具体内容,因为不同的题目编号对应不同的问题。不过,用户提供的引用中并没有直接提到HDU 1152的相关信息,可能需要通过其他途径来获取。 首先,我应该检查是否有现有的资源或者数据库中有这个题目的记录。由于用户提供的引用[1]是关于NUAAOJ的,而引用[2]是一个转载的博客链接,可能内容不相关。因此,可能需要建议用户直接访问HDU OJ的官方网站查找题目,或者通过搜索引擎查找相关的题解。 另外,考虑到用户可能无法直接访问外部链接,或者希望得到更直接的帮助,我可以提供一些通用的解题步骤。例如,先理解题目要求,分析输入输出格式,设计算法,然后编写代码。同时,可能需要提醒用户注意常见的错误,比如边界条件或者特殊输入情况。 用户可能还希望得到具体的代码示例,但如果没有题目的具体描述,编写准确的代码会比较困难。因此,建议用户先确认题目的具体要求,或者提供更多的细节,这样可以帮助更准确地解决问题。 此外,用户的问题中提到“相关信息或解法”,可能包括题目的翻译、算法思路、代码实现等。因此,在回答时需要涵盖这些方面,或者至少引导用户如何自行获取这些信息。 最后,需要确保回答符合格式要求,使用正确的LaTeX语法,生成相关问题,并且结构清晰。同时,引用部分需要正确标注,尽管当前提供的引用可能与问题无关,但需要按照示例中的格式处理。</think>### HDU OJ 1152题解与信息 HDU OJ(杭电在线评测系统)的题目1152需要结合具体题目描述进行分析。根据常见的HDU题目编号规律,**1152可能涉及数学建模、动态规划或字符串处理等算法**。由于未提供完整题目描述,以下是通用解题框架: 1. **题目分析** - 确认输入输出格式(例如:输入是否为多组测试数据) - 注意特殊条件(如数据范围限制、边界值) - 例如:若题目要求判断回文数,核心公式为$n = \sum_{i=0}^{k} a_i \cdot 10^i$的对称性验证[^1] 2. **算法设计** - 若涉及数值计算,考虑快速幂或模运算 例如:计算$a^b \mod m$时使用: $$a^b \mod m = \left( (a^{b/2} \mod m)^2 \cdot a^{b\%2} \right) \mod m$$ - 若涉及字符串操作,优先选择双指针或哈希表优化 3. **代码实现示例**(假设为数值计算类题目) ```python def solve(n): # 示例:判断是否为回文数 return str(n) == str(n)[::-1] while True: try: num = int(input()) print(1 if solve(num) else 0) except EOFError: break ``` 4. **调试建议** - 使用HDU OJ的公开测试用例(如题目讨论区) - 注意时间复杂度限制,避免超时(如$O(n^2)$算法需优化为$O(n)$)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值