杭电-------2098 分拆素数和(c语言写)
#include<stdio.h> #include<math.h> int sushu[10000] = { 2,0 }; int k = 0;//全局变量,用来标志此时已有多少个素数 int judge(int n) {//判断是否为素数 int i; if (n == 2) { return 1; } for (i = 2; i <= sqrt(n); i++) { if (n%i == 0) { return 0; } } return 1; } int main() { int a;//所要输入的数 scanf("%d", &a); int flsg; int i; int x;//所求数 while (a != 0) { x = 0; if (a > sushu[k]) {//将素数存入数组中 if (sushu[k] == 2) { i = sushu[k] + 1; } if (sushu[k] != 2) {//2已经存入数组 i = sushu[k] + 2; } for (; i <= a; i = i + 2) {//可以从已找到的最大数组开始向后找 //后面的至少为单数 if (judge(i)) { sushu[++k] = i; } } } for (i = 0; i <= k; i++) {//先找素数中的数,找到一个 if (a < sushu[i]) {//加入的数越多,数组中保存的素数的值可能大于分解值,直接跳出 break; } flsg = a - sushu[i];//减去之后判断剩下的数是否为素数 if (judge(flsg) && sushu[i] != flsg) { x++; } } printf("%d\n", x / 2);//因为找的加数都是素数,又是按顺序找的,所以重复 scanf("%d", &a); } return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)