素数回文
代码部分:
#include
#include
#include
// 定义长整型别名
typedef long long ll;
// 素数判断函数
ll pan(ll x) {
if (x == 1) return 1; // 1不是素数
if (x == 2) return 0; // 2是素数
for (ll i = 2; i <= sqrt(x); i++) {
if (x % i == 0) return 1; // 如果找到因子,则不是素数
}
return 0; // 没有找到因子,是素数
}
// 全局变量,用于存储数字的逆序
long long o = 0;
// 计算数字的逆序
long long hui(long long a) {
long long t[9];
memset(t, 0, sizeof(t)); // 初始化数组
t[0] = 1;
for (int i = 1; i < 9; i++) {
t[i] = 10 * t[i - 1]; // 计算10的幂
}
for (int i = 0; i < 9; i++) {
if (a / t[i] > 0 && a / t[i] <= 9) {
o = a * t[i];
for (int j = i - 1; j >= 0; j--) {
a /= 10;
o += a % 10 * t[j];
}
}
}
return o;
}
int main() {
ll t;
scanf("%lld", &t); // 读取数字
if (pan(hui(t))) {
printf("noprime\n"); // 如果逆序数不是素数,则输出noprime
} else {
printf("prime\n"); // 如果逆序数是素数,则输出prime
}
return 0;
}
知识点:
1. **类型定义**:使用 `typedef` 定义 `ll` 作为 `long long` 的别名。
2. **数学函数**:使用 `math.h` 中的 `sqrt` 函数计算平方根。
3. **内存操作**:使用 `memset` 函数初始化数组。
4. **数组操作**:计算10的幂并存储在数组中。
5. **循环控制**:使用 `for` 循环遍历数组和计算逆序数。
6. **条件判断**:使用 `if` 语句判断数字是否为素数。
7. **输入输出**:使用 `scanf` 和 `printf` 函数进行输入输出操作。
代码部分:
#include
#include
#include
// 定义长整型别名
typedef long long ll;
// 素数判断函数
ll pan(ll x) {
if (x == 1) return 1; // 1不是素数
if (x == 2) return 0; // 2是素数
for (ll i = 2; i <= sqrt(x); i++) {
if (x % i == 0) return 1; // 如果找到因子,则不是素数
}
return 0; // 没有找到因子,是素数
}
// 全局变量,用于存储数字的逆序
long long o = 0;
// 计算数字的逆序
long long hui(long long a) {
long long t[9];
memset(t, 0, sizeof(t)); // 初始化数组
t[0] = 1;
for (int i = 1; i < 9; i++) {
t[i] = 10 * t[i - 1]; // 计算10的幂
}
for (int i = 0; i < 9; i++) {
if (a / t[i] > 0 && a / t[i] <= 9) {
o = a * t[i];
for (int j = i - 1; j >= 0; j--) {
a /= 10;
o += a % 10 * t[j];
}
}
}
return o;
}
int main() {
ll t;
scanf("%lld", &t); // 读取数字
if (pan(hui(t))) {
printf("noprime\n"); // 如果逆序数不是素数,则输出noprime
} else {
printf("prime\n"); // 如果逆序数是素数,则输出prime
}
return 0;
}
知识点:
1. **类型定义**:使用 `typedef` 定义 `ll` 作为 `long long` 的别名。
2. **数学函数**:使用 `math.h` 中的 `sqrt` 函数计算平方根。
3. **内存操作**:使用 `memset` 函数初始化数组。
4. **数组操作**:计算10的幂并存储在数组中。
5. **循环控制**:使用 `for` 循环遍历数组和计算逆序数。
6. **条件判断**:使用 `if` 语句判断数字是否为素数。
7. **输入输出**:使用 `scanf` 和 `printf` 函数进行输入输出操作。
全部评论
相关推荐
点赞 评论 收藏
分享
01-14 22:59
西安科技大学 Java
行云流水1971:这份实习简历的优化建议:
结构清晰化:拆分 “校园经历”“实习经历” 板块(当前内容混杂),按 “实习→校园→技能” 逻辑排版,求职意向明确为具体岗位(如 “市场 / 运营实习生”)。
经历具象化:现有描述偏流程,需补充 “动作 + 数据”,比如校园活动 “负责宣传” 可加 “运营公众号发布 5 篇推文,阅读量超 2000+,带动 300 + 人参与”;实习内容补充 “协助完成 XX 任务,效率提升 X%”。
岗位匹配度:锚定目标岗位能力,比如申请运营岗,突出 “内容编辑、活动执行” 相关动作;申请市场岗,强化 “资源对接、数据统计” 细节。
信息精简:删减冗余表述(如重复的 “负责”),用短句分点,比如 “策划校园招聘会:联系 10 + 企业,组织 200 + 学生参与,到场率达 85%”。
技能落地:将 “Office、PS” 绑定经历,比如 “用 Excel 整理活动数据,输出 3 份分析表;用 PS 设计 2 张活动海报”,避免技能单独罗列。
优化后需强化 “经历 - 能力 - 岗位需求” 的关联,让实习 / 校园经历的价值更直观。
若需要进一步优化服务,私信 点赞 评论 收藏
分享
点赞 评论 收藏
分享
OPPO公司福利 1254人发布