整数因式分解的问题。了解了一下筛法计算素数的算法。之前都是直接跑的sqrt(n)...

上方的genPrime()即筛法。大致意思是开一个标识数组,通过循环,下标为合数的位置置为false。

 #include<bits/stdc++.h>
using namespace std;
bool flag[]; //标志一个数是否为素数
int prime[]; //素数表,下标从0开始
int size=; //素数个数
void genPrime()
{
int max=;
memset(flag, true, sizeof(flag));//首先对标签数组进行初始化,全部设为true。
for(int i = ; i <= max / ; i++)
{
if(flag[i])
{
for(int j = i << ; j <= max; j += i)
{
flag[j] = false;
}
}
}
for(int i = ; i <= max; i++)
{
if(flag[i])
{
prime[size++] = i;//存储素数。将所有标志位依然为1的标志写入素数数组中去。
}
}
} int son[];
int j;
void breakNum(int num,int arr[])
{
for(int i=; i<sizeof(prime)/sizeof(int)&&prime[i]<=num;)
{
if(num%prime[i]==)
{
son[j]=prime[i];
j++;
num/=prime[i];
}
else
{
i++;
}
}
} int main()
{
memset(son,,sizeof(son));
genPrime();
int num;
cin>>num; if(num==)
{
cout<<<<endl;
}
else
{
breakNum(num,son);
for(int i=; i<j; i++)
{
if(son[i]!=)
{
if(i!=j-)
{
cout<<son[i]<<"*";
}
else
{
cout<<son[i]<<endl;
}
}
}
}
return ;
}

蓝桥杯D1的更多相关文章

  1. 第四届蓝桥杯 c/c++真题

    第四届蓝桥杯 c/c++真题 <1>高斯日记 问题 大数学家高斯有个好习惯:无论如何都要记日记. 他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210 后来人们 ...

  2. 【蓝桥杯单片机02】LED的基本控制

    [蓝桥杯单片机02]LED的基本控制 广东职业技术学院  欧浩源 在CT107D单片机综合训练平台实现LED的基本控制和其他单片机开发平台不一样,不单单是控制几个LED实现跑马灯这么简单.因为在这个平 ...

  3. 日期类的使用(java)-蓝桥杯

    蓝桥杯日期问题常考,java提供了日期类很方便: //日历类 Calendar c = Calendar.getInstance(); // 获取实例化对象 Date date =c.getTime( ...

  4. Java实现蓝桥杯 算法训练 ALGO-15 旅行家的预算

    问题描述 一个旅行家想驾驶汽车以最少的费用从一个城市到另一个城市(假设出发时油箱是空的).给定两个城市之间的距离D1.汽车油箱的容量C(以升为单位).每升汽油能行驶的距离D2.出发点每升汽油价格P和沿 ...

  5. 2012年 蓝桥杯预赛 java 本科 题目

    2012年 蓝桥杯预赛 java 本科 考生须知: l  考试时间为4小时. l  参赛选手切勿修改机器自动生成的[考生文件夹]的名称或删除任何自动生成的文件或目录,否则会干扰考试系统正确采集您的解答 ...

  6. 蓝桥杯历届试题 地宫取宝 dp or 记忆化搜索

    问题描述 X 国王有一个地宫宝库.是 n x m 个格子的矩阵.每个格子放一件宝贝.每个宝贝贴着价值标签. 地宫的入口在左上角,出口在右下角. 小明被带到地宫的入口,国王要求他只能向右或向下行走. 走 ...

  7. 蓝桥杯---数独(模拟 || dfs)

    [编程题](满分33分) "数独"是当下炙手可热的智力游戏.一般认为它的起源是"拉丁方块",是大数 学家欧拉于1783年发明的. 如图[1.jpg]所示:6x6 ...

  8. 蓝桥杯---剪格子(DFS&BFS)(小总结)

    问题描述 如下图所示,3 x 3 的格子中填写了一些整数. +--*--+--+ |10* 1|52| +--****--+ |20|30* 1| *******--+ | 1| 2| 3| +--+ ...

  9. 蓝桥杯--Quadratic Equation

    蓝桥杯--Quadratic Equation 问题描述 求解方程ax2+bx+c=0的根.要求a, b, c由用户输入,并且可以为任意实数. 输入格式:输入只有一行,包括三个系数,之间用空格格开. ...

随机推荐

  1. hdu 1757 A Simple Math Problem(矩阵快速幂乘法)

    Problem Description Lele now is thinking about a simple function f(x). If x < f(x) = x. If x > ...

  2. Life is short, you need Python

    今年四五月份的时候我打算学一门计算机语言. 计算机语言实在是很多,选哪一个? 其实这个选择就和去市场买菜类似,想明白了自己的需求才能做好决定.你想做什么饭,就去买什么菜.想做南瓜粥,就要去买南瓜,想要 ...

  3. Hibernate征途(一)之初识

    相见恨晚 很久以前,大概从开始接触数据库开始,就闪过这样一个想法,怎么看怎么觉得数据库表和vb的类模块很像,不是么?除了vb类模块还有函数外:越往下学觉得二者越像,尤其在三层时学到实体类的概念,我去, ...

  4. jQuery源代码学习笔记:jQuery.fn.init(selector,context,rootjQuery)代码具体解释

    3.1 源代码 init: function( selector, context, rootjQuery ) { var match, elem, ret, doc; // Handle $(&qu ...

  5. ng-validate

    客户端表单验证是AngularJS里面最酷的功能之一. AngularJS表单验证可以让你从一开始就写出一个具有交互性和可相应的现代HTML5表单. 在AngularJS中,有许多表单验证指令.在这里 ...

  6. MVC+simpleinjector 简单使用

    一.首先添加NuGet包如下图

  7. OC-类

    1.关于头文件 #include <stdio.h>     #import <Foundation/Foundation.h> 区别:#import指令导入更快更有效率.#i ...

  8. WPF中timer的使用

    Timer控件/ System.Timers.Timer 不能用于WPF中.在WPF中,定时器为 DispatcherTimer. 使用方法如下: private DispatcherTimer ti ...

  9. Javascript 拖拽的一些简单的应用——逐行分析代码,让你轻松了解拖拽的原理

    今天我们来看看如何让拖拽的物体不能拖出某个div之外和拖拽的吸附功能 上次讲到我们的拖拽是不可拖出可视区范围的,在这基础上我们加个父级的div,不让他拖出父级.原理和之前的一样,简单吧. <di ...

  10. Node.js内置的工具和第三方模块来进行单步调试

    1.命令行调试: Node.js调试命令: run 执行脚本,在第一行暂停 restart 重新执行脚本 cont,c 继续执行,知道遇到下一个断点 next,n 单步执行 step,s 单步执行,并 ...