zoukankan      html  css  js  c++  java
  • 质数和分解

    质数和分解(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

    #include<cstdio>
    #include<iostream>
    #include<cstring>
    using namespace std;
    int f[300]={0},a[300],ans[300];
    int k=0,n;
    void zs()
    {
    	for (int i=2;i<=n;i++)//筛子 
    	  if (!f[i])
    	    {
    	    	k++;
    	    	a[k]=i;
    	    	int j=i;
    	    	while (j<=n)
    	    	  {
    	    	  	 f[j]=1;
    	    	  	 j+=i;
    			  }
    		}
    	
    	  
    }
    int main()
    {
    	scanf("%d",&n);
    	ans[0]=1;
    	zs();
    	for (int i=1;i<=k;i++)
    	  for (int j=a[i];j<=n;j++)
    	    ans[j]+=ans[j-a[i]];//转移方程 
    	cout<<ans[n];
    	return 0;
    } 
    
    
    /*
    样例 
    9 
    9以内的质数   0 1 2 3 4 5 6 7 8 9
    2            1 0 1 0 1 0 1 0 1 0
    3                  1 1 1 1 1 2 2
    5                      2 1 2 2 3 
    7                          3 3 4
    */
    

      

    I'm so lost but not afraid ,I've been broken and raise again
  • 相关阅读:
    Jmeter——关联与正则
    Jmeter图形插件扩展
    Jmeter——检查点
    Jmeter——集合点
    OpenGL帧缓存对象(FBO:Frame Buffer Object)(转载)
    unicode 和 utf8
    管理node的版本
    pyqt5 开发环境
    cmake
    一些可能常用的工具函数
  • 原文地址:https://www.cnblogs.com/sjymj/p/5325714.html
Copyright © 2011-2022 走看看