分解质因数 样例代码

 1 #include<cmath>
 2 #include<cstdio>
 3 #include<algorithm>
 4 const int MAXN = 1000;
 5
 6 int num[MAXN << 1],cnt = 0;
 7 int bp[MAXN],prime[MAXN];
 8 bool flag = false;
 9
10 inline void makep(int n)
11 {
12     bp[1] = true;
13     int cnt = 0;
14     for(int i = 2;i <= n;++ i)
15     {
16         if(!bp[i]) prime[++ cnt] = i;
17         for(int j = 1;j <= cnt;++ j)
18         {
19             if(prime[j]*i > n)    break;
20             bp[i*prime[j]] = true;
21             if(i%prime[j] == 0)    break;
22         }
23     }
24 }
25
26 void solve(int a)
27 {
28     if(!bp[a])
29     {
30         num[a] ++;
31         cnt ++;
32         flag = true;
33         return;
34     }
35     for(int i = 2;i*i <= a;++ i)
36     {
37         if(flag)    return;
38         if(!bp[i] && a%i == 0)
39         {
40             num[i] ++;
41             cnt ++;
42             solve(a/i);
43         }
44     }
45 }
46
47 int main()
48 {
49     int a;
50     scanf("%d",&a);
51     makep(a+1);
52     solve(a);
53     for(int i = 1;i <= a;++ i)
54         while(num[i])
55             printf("%d ",i),num[i] --;
56 /*    for(int i = 1;i <= a;++ i)
57         if(num[i])
58             while(a%i == 0)
59                 printf("%d ",i),a/=i;*/
60     return 0;
61 }
时间: 2024-10-12 19:41:29

分解质因数 样例代码的相关文章

使用GPC分解多边形样例(Generic Polygon Clipper)

使用GPC分解多边形 (Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu 转载请标明来源) GPC: Generic Polygon Clipper GPC支持分解多边形.多边形求差集.交集,异或.并集 GPC_DIFF,                         /* Difference                        */ GPC_INT,                          /* Intersection    

【实用】Dev C++编译器属性代码缺省源样例代码

这是我刚刚发明的东西,比较好用... 源代码复制到Dev C++编译器属性的代码缺省源内即可.. 用法: 包含常用头文件和ctime时间监控插件,常用缩写,快速读入,测试输出函数两个,读入函数,文件读入读出函数,work函数,主函数,还定义了所有的字母变量和常用的其他数组之类的变量.. 上手很快,功能强大..大家自己做一点补充吧.. 那些模板不想放进来,免得A+B都有好几K.. #include<iostream> #include<cstdlib> #include<cst

C#调用 Oracle 存储过程样例代码

-- 建表CREATE TABLE sale_report (     sale_date DATE NOT NULL ,     sale_item VARCHAR(2) NOT NULL ,      sale_money DECIMAL(10,2) NOT NULL,      PRIMARY KEY(sale_date, sale_item)); -- 測试数据DECLAREv_begin_day DATE;v_end_day DATE;BEGIN v_begin_day := TO_D

C编程规范, 演示样例代码。

/*************************************************************** *Copyright (c) 2014,TianYuan *All rights reserved. * *文件名: standard.h *文件标识: 编程规范演示样例代码 * *当前版本号:V1.0 *作者:wuyq *完毕日期:20140709 * *改动记录1: //改动历史记录.包含改动日期.版本号号.改动人及改动内容等 *改动日期 版本号号 改动人 改动内

10分钟理解Android数据库的创建与使用(附具体解释和演示样例代码)

1.Android数据库简单介绍. Android系统的framework层集成了Sqlite3数据库.我们知道Sqlite3是一种轻量级的高效存储的数据库. Sqlite数据库具有以下长处: (1)零配置,无需安装和配置: (2)储存在单一磁盘文件里的一个完整的数据库. (3)数据库文件能够在不同字节顺序的机器间自由共享: (4)支持数据大小至2TB: (5)足够小.全部源码大致3万行C代码.250KB: (6)比眼下流行的大多数数据库的操作要快. (7)开源. 2.Sqlite 基本操作语句

[Python] SQLBuilder 演示样例代码

用Python写一个SQLBuilder.Java版能够从 http://www.java2s.com/Code/Java/Database-SQL-JDBC/SQLBuilder.htm 看到. 附上代码: 演示样例代码(一): class SQLDirector: @classmethod def buildSQL(cls, builder): sql = "" sql += builder.getCommand() sql += builder.getTable() sql +=

appium样例代码

appium样例代码 com.appium.driver包下创建InitDriver.java类: package com.appium.driver; import java.io.File; import java.net.MalformedURLException; import java.net.URL; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.Rem

java 状态模式 解说演示样例代码

package org.rui.pattern; import junit.framework.*; /** * 为了使同一个方法调用能够产生不同的行为,State 模式在代理(surrogate)的 * 生命周期内切换它所相应的实现(implementation).当你发现,在决定怎样实现任 对象去耦(Object decoupling) * http://blog.csdn.net/lxwde 28 何一个方法之前都必须作非常多測试的情况下,这是一种优化实现代码的方法.比如, * 童话故事青

java 线程、线程池基本应用演示样例代码回想

package org.rui.thread; /** * 定义任务 * * @author lenovo * */ public class LiftOff implements Runnable { protected int countDown=10; private static int taskCount=0; private final int id=taskCount++; public LiftOff(){} public LiftOff(int countDown) { thi