质数和分解问题

【AHOI】质数和分解 (洛谷搬家系列,不想COPY题目,自己查,谢谢!) 这题要用到DP完全背包求方案数,但我想强调的是质数表O(∩_∩)O~ 这个数据量已经算很小了,如果数据量大的话,这样一遍一遍求质数 也许应该可能 一定会 TLE ( ⊙ o ⊙ )! 这是可以用一个伟大的理论: 筛法求素数 具体做法是:给出要筛数值的范围n,找出n以内的素数p1,p2,p3,…,pk。先用2去筛,即把2留下,把2的倍数剔除掉;再... 阅读详情
/*
质数和分解(normal)

Time Limit:1000MS  Memory Limit:65536K
Total Submit:178 Accepted:66 

Description 

任何大于 1 的自然数 n,都可以写成若干个大于等于 2 ,且小于等于 n 的质数之和表达式(包括只有一个数构成的和表达式的情况),并且可能有不止一种质数和的形式。例如9 的质数和表达式就有四种本质不同的形式: 
9 = 2+5+2 = 2+3+2+2 = 3+3+3 = 2+7 。 
这里所谓两个本质相同的表达式是指可以通过交换其中一个表达式中参加和运算的各个数的位置而直接得到另一个表达式。 
试编程求解自然数 n 可以写成多少种本质不同的质数和表达式。 


Input 

(prime.in)文件中的每一行存放一个自然数 n , 2≤n≤200。

Output 

(prime.out)依次输出每一个自然数 n 的本质不同的质数和表达式的数目。

Sample Input 


2

Sample Output 


1

*/
/*
说明: 这个程序效率不高,哪位有更高的PM我一下,谢谢!!!发至:oopos@126.com
*/
#include 
<stdio.h>
#include 
<math.h>
#include 
<string.h>

#define MAX 201 

int prime[MAX]={0},lp=0,total=0;

void makeprime(void)
{
     
int i,j ;
     prime[
++lp] = 2 ;
     
for(i=3 ; i<= MAX ; i++)
     {
             
for(j=2 ; j*j <= i ; j++)
             
if (i % j == 0)
             
break ;
             
if(j*j > i)
             prime[
++lp] = i ;
             
     }
}

int is_prime(int x)
{
    
int y;
    
for(y=1 ; y<= lp ; y++)
    
if(x == prime[y])
    
return 1 ;
    
return 0 ;
}

int is_ok(int *sum,int num)
{
    
int i ;
    
for(i=1 ; i<= num ; i++)
    
if( !is_prime(sum[i]))
    
return 0 ;
    
return 1 ;
}

        
void trytodo (int *sum,int min,int max,int num)
{
     
int p,q ;
     
if(is_ok(sum,num)) /*检查是否全为质数*/
     {
       total 
++ ;
       
/*for(q=1 ; q<= num ; q++)
       printf("%d ",sum[q]);
       printf(" ");
*/
     }
     
     
for(p=min ; p<= max/2 ; p++)
     
if(is_prime(p))
     {
           sum[num
+1] = max - p ;
           sum[num] 
= p ;
           trytodo(sum,sum[num],sum[num
+1],num+1);
     }
}


int main(void)
{
    
int h,k,n,sum[MAX]={0};
    scanf(
"%d",&n);
    
    makeprime() ;
    
if(is_prime(n))
    total 
++ ;
    
    
for(h=2; h<= n/2 ; h++)
    {
          
if (is_prime(h)) /*至少要分到一个质数,不然会重复,这也叫剪枝吧*/
          {
               sum[
1] = h ;
               sum[
2] = n-h;             
               trytodo(sum,sum[
1],sum[2],2) ;
          }
    }
    
    printf(
"total = %d ",total);
    
    
/*for(k=1 ; k<= lp ; k++)*//* 产生质数
    printf("%d ",prime[k]);
    printf(" lp=%d ",lp);
*/
    system(
"pause");
    
return 0 ;
}
 
保姆级教程:用Docker Compose在Linux上一键部署Milvus 2.5.8(附配置文件详解) 本文提供了一份详细的Milvus 2.5.8安装指南,通过Docker Compose在Linux系统上一键部署这款高性能向量数据库。教程涵盖环境准备、配置文件解析、服务启动验证及常见问题解决,帮助开发者快速搭建AI应用所需的基础设施。 阅读详情

相关推荐

[QDS]从零开始,写第一个Qt Design Studio到程序调用的项目

最近在使用Qt Design Studio进行开发,但是简中网上要不就是只搜得到Qt Designer(Qt Creator内部库),要不就只搜得到一点营销号不知道从哪里搬来的账号,鉴于Qt Design Studio是一个这么强大的软件,自然是需要来进行一下小小的实践的。所以开了这篇文章,方便没有使用过Qt Design Studio 和 QML的开发者也可以快速上手QDS(Qt Design Studio)。在本文中,你将学会如何使用QDS开发一个简单的QML程序,与你的C++后端代码进行交流。

Andius的博客 8211

【9911】质数和分解

Time Limit: 3 second Memory Limit: 2 MB 【问题描述】 任何大于1的自然数n,都可以写成若干个大于等于2且小于等于n的质数之和的表达式(包括只有一个数构成的和表达式的情况),并且可能有不止一种质数的的形式。例如,9的质数和表达式就有四种本质不同的形式:9=2+5+2=2+3+2+2=3+3+3=2+7。 这里所谓两个本质相同的表达式是指可以通...

321

在URP中正确写入Sprite深度以使用DOF

我准备在文字冒险中加入景深的效果,但是因为unity内置shader的缘故,sprite是不会写入深度的,而如果要使用PostProcessing的DOF效果的话,是必须要将半透明物体的深度正确写入Depth Buffer的,这篇消耗了我大量精力的文章就是要介绍正确写入的方法。 其实,如果只是要在2D游戏中实现类似于景深的效果,不写入深度其实也是可以的,我找到的有两种方案:一种是实时对Sprite进行模糊计算;二是直接使用离线预模糊的图片,根据强度进行混合。 离线预模糊 虽然这两种方法都可以比较简

FREEstriker的博客 2729

质数和分解(prime)

【问题描述】 任何大于1的自然数N,都可以写成若干个大于等于2且小于等于N的质数之和表达式(包 括只有一个数构成的和表达式的情况),并且可能有不止一种质数和的形式。例如9的质数和 表达式就有四种本质不同的形式:9 = 2+5+2 = 2+3+2+2 = 3+3+3 = 2+7。 这里所谓两个本质相同的表达式是指可以通过交换其中一个表达式中参加和运算的各 个数的位置而直接得到另一个表达式。

A_Comme_Amour的博客 2928

Endnote 导入参考文献的时候,格式错误太多了。et.al错误,国标GBT7714在endnote中的详细配置教程,适用于本科,硕士论文文献插入的模板

EndNote插入文献常遇到以下错误主要如下: 等、et al不分; 英文作者全名大写; 期刊名字使用了缩写(图片里没有体现;卷号、期号缺失时出现乱码,多了半个括号;页码范围略去了相同部分;没有悬挂缩进,本文全部解决,全网最细

sakura的博客 3万+

【毕设课设】基于YOLO v3与LSTM的水位智能识别系统(附完整源码+数据集)

本文详细介绍了基于YOLO v3与LSTM的水位智能识别系统的完整实现方案。该系统通过YOLO v3精准定位水位尺数字,结合LSTM-OCR进行序列识别,并融合霍夫变换检测刻度线,实现高精度水位自动读取。项目提供了从环境搭建、模型训练到集成部署的全流程指南,并附有完整源码和数据集,是理想的毕设课设实战项目。

php55的博客 609

AHOI2001 HLOJ419 质数和分解

题面 题目描述   任何大于 1 的自然数n都可以写成若干个大于等于2且小于等于n的质数之和表达式(包括只有一个数构成的和表达式的情况),并且可能有不止一种质数和的形式。 例如,9 的质数和表达式就有四种本质不同的形式: 9=2+5+2=2+3+2+2=3+3+3=2+7。   这里所谓两个本质相同的表达式是指可以通过交换其中一个表达式中 参加和运算的各个数的位置而直接得到另一个表达式。...

蒟蒻柴犬首相的博客 584

eICU数据库没有ventilation_event表

各位学友大家好,我是环湖医院神经外科的飞时过,很多外院的老师和我问,ventilation_event表的问题,哪怕用ChatGPT也无法正确生成,今天我给大家用SQL做一个拿来就能用的。

环湖数据科学知识共享平台 936

动态规划(dp)总结

问题 B: 【动态规划】圣诞树 题目: 圣诞特别礼物挂在一棵圣诞树上,这棵树有n层,每层有一件礼物,每件礼物都有一个价值,有的礼物还有一些连接线,与下层的礼物相连。领取礼物的规则如下:任选一件礼物,它的下面如果有连接线,则可以继续取它连接的礼物,依此类推直至取到没有连接线的礼物才结束。你如果是第一个去取,怎样取才能获得最大的价值呢?请你编一程序解决这一问题。 输入 第1行只有一个数据n(n≤100...

Spidy_harker的博客 1849

Open3D 进阶(32)渐进三角网(PTD)地面滤波

渐进三角网地面滤波算法(Progressive TIN Densification, PTD)是一种广泛应用于机载LiDAR点云数据处理的滤波方法,旨在从复杂场景中精确分离地面点,以生成数字高程模型(DEM)。

点云侠的博客 1536

微信小程序 - 最新将页面可分享到朋友圈功能,小程序实现分享到朋友圈功能,开启分享给好友及分享朋友圈功能(微信小程序怎么分享到朋友圈?详细流程及示例代码教程)

没有设置过分享朋友圈功能的小程序,分享朋友圈按钮是灰色且无法点击。小程序 vue2 | vue3 版本语法都能使用,跟着教程复制代码运行即可。如下图所示,将页面开启分享后便可由用户转发出去。

🏆 前端领域优质创作者 2417

01背包 质数和分解

吉林大学软件大二学生 东北师范大学附属中学OJ jinxi20111 2019.05.23 题目描述 任何大于 1 的自然数 N,都可以写成若干个大于等于2且小于等于 N 的质数之和表达式(包括只有一个数构成的和表达式的情况),并且可能有不止一种质数和的形式。例如9 的质数和表达式就有四种本质不同的形式:9 = 2+5+2 = 2+3+2+2 = 3+3+3 = 2+7 。 这里所谓两个本质相同的...

MythCoffee的博客 1321

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

判断 素数(质数) 和 质因式分解 问题

质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。 //素数判断 int isPrime(u32 n) { for (u32 i = 2; i < n; i++) { //可以被别的数整除,不是素数 if (n % i == 0) return 0; } return 1; } //质因数分解 int getPrimeFactor(u32 n) { //可以不返.

保持每天的清醒 845

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

问题 T: 【动态规划】质数和分解

人群淹没,你我不及诉说。一声雁过,往事如昨。只望离别不多,再赏盛世烟火。 题目描述 任何大于1的自然数n,都可以写成若干个大于等于2且小于等于n的质数之和的形式(包括只有一个数构成的和表达式的情况),并且可能有不止一种质数和的形式。例如9的质数和表达式就有四种本质不同的形式:9=2+5+2=2+3+2+2=3+3+3=2+7。 这里所谓两个本质相同的表达式,是指可以通过交换其中一个表达式中参加...

0k-ok 553

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

[AHOI2001]质数和分解

[AHOI2001]质数和分解 题目描述 任何大于 1 的自然数 n 都可以写成若干个大于等于 2 且小于等于 n 的质数之和表达式(包括只有一个数构成的和表达式的情况),并且可能有不止一种质数和的形式。例如,9 的质数和表达式就有四种本质不同的形式: 9 = 2 + 5 + 2 = 2 + 3 + 2 + 2 = 3 + 3 + 3 = 2 + 7 。 这里所谓两个本质相同的表达式是指可...

weixin_30587025的博客 90

P1029 [NOIP2001 普及组] 最大公约数和最小公倍数问题、P5736 【深基7.例2】质数筛(试除法)、P2043 质因子分解(唯一分解定理)

P1029 [NOIP2001 普及组] 最大公约数和最小公倍数问题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 代码思路 函数定义: 函数用于计算两个数的最大公约数,使用了递归的欧几里得算法。主函数 :P5736 【深基7.例2】质数筛 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 代码思路 函数定义:主函数 :P2043 质因子分解 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 代码思路 函数定义:主函数 :

u014114223的博客 778

洛谷 P2563 [AHOI2001]质数和分解

                洛谷 P2563 [AHOI2001]质数和分解 题目描述 任何大于 1 的自然数 n 都可以写成若干个大于等于 2 且小于等于 n 的质数之和表达式(包括只有一个数构成的和表达式的情况),并且可能有不止一种质数和的形式。例如,9 的质数和表达式就有四种本质不同的形式: 9 = 2 + 5 + 2 = 2 + 3 + 2 + 2 = 3 + 3 +...

bai123456888888的博客 219

洛谷 P2563 [AHOI2001]质数和分解

P2563 [AHOI2001]质数和分解 题目描述 任何大于 1 的自然数 n 都可以写成若干个大于等于 2 且小于等于 n 的质数之和表达式(包括只有一个数构成的和表达式的情况),并且可能有不止一种质数和的形式。例如,9 的质数和表达式就有四种本质不同的形式: 9 = 2 + 5 + 2 = 2 + 3 + 2 + 2 = 3 + 3 + 3 =...

HJ921004的博客 192

P2563[AHOI2001] 质数和分解 动态规划-完全背包

P2563[AHOI2001] 质数和分解 动态规划

m0_46183615的博客 885

过河卒&采药&精卫填海&质数和分解

过河卒&采药&装箱

暴躁大企鹅的博客 535

整数的因式分解,分解为质数的积

//分析: //质数指: 2 3 5 7 11 13 …(不能再分解的数) //一个整数总是从最小的质数2开始尝试分解,就可以去掉所有的偶数,再递增到3去掉所有能被3整除的数,以此类推。 每除一次该整数就变小,直到不能分解。 #include<stdio.h> int main() { int n,i; printf("Plz input int:"); scanf("%d",&n); printf("%d=",n).

7TribeZ的博客 726

质因数分解、约数个数、约数和

背景: 暴力求 n 的约数个数、约数和的复杂度为 ,往往不能符合题目时限要求。但这个通过质因数分解来优化时间。 质因数分解: 性质:一个数 n ,最多只存在一个质因子。 因此,我们只需要预处理出以内的质数(1e5以内质数大概4000+个)。遍历这些质数,若n%p==0,那么n/p,直到n%p!=0。最后如果 n 还大于 1 ,那么这个剩下的 n 一定也是质数。 设,...

残阳止水 2208
上一篇: 方阵填数问题(模拟法)
下一篇: 猴子分桃问题
wx红杉树
博客等级 码龄21年 383粉丝 296原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值