题目链接:https://vjudge.net/problem/CodeForces-1076B

题意:

题目要求给定一个数,要求每次减去其最小素因数(既是素数又是其因数),问直到n=0需要做几次运算。

分析:

首先如果n为素数,则其最小素因数就是它本身,故第一次运算n:=n-n即得0,只需要一次运算。当n为偶数时,素因子恒为2,故每次减2直到0,所以运算次数为n/2次,当n为奇数是,首先减一次最小素因子,因为最小素因子一定是奇数,故奇-奇=偶,变为偶数后就按上述做法求得运算次数即可。

总结如下:

#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <vector>
#include <queue>
typedef long long ll;
using namespace std;
ll n; bool prime(ll x) {
for(ll i = ; i <= sqrt(x); i++) {
if(x % i == )
return false;
}
return true;
} ll min_div(ll x) {
for(ll i = ; i < n; i++) {
if(x % i == )
return i;
}
} int main(void) {
while(scanf("%lld", &n) == ) {
if(prime(n)) {
printf("1\n");
continue;
}
else if(n % == ) {
printf("%lld\n", n/);
continue;
}
else {
n -= min_div(n);
printf("%lld\n", n/+);
}
}
}

CodeForces-1076B Divisor Subtraction 找规律的更多相关文章

  1. Lieges of Legendre CodeForces - 603C (博弈论,SG找规律)

    大意: 给定$n$堆石子, 两人轮流操作, 每次操作两种选择 $(1)$任选非空堆拿走一个石子 $(2)$任选石子数为$2x(x>0)$的一堆, 替换为$k$堆$x$个石子. ($k$给定) 最 ...

  2. codeforces 615E Hexagons (二分+找规律)

    E. Hexagons time limit per test 1 second memory limit per test 256 megabytes input standard input ou ...

  3. codeforces 353D 递推 找规律

    题意:一组男生女生在排队,每秒钟所有排在女生左边的男生与她相邻的女生交换位置,求女生全部换到男生前面的时间. 思路: 解法一:队伍最前面的那些女生不需要交换,后面的女生有两种状态:畅通无阻,前一个女生 ...

  4. Educational Codeforces Round 8 B 找规律

    B. New Skateboard time limit per test 1 second memory limit per test 256 megabytes input standard in ...

  5. codeforces D. Queue 找规律+递推

    题目链接: http://codeforces.com/problemset/problem/353/D?mobile=true H. Queue time limit per test 1 seco ...

  6. Codeforces Gym 100114 A. Hanoi tower 找规律

    A. Hanoi tower Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100114 Descript ...

  7. Tetrahedron(Codeforces Round #113 (Div. 2) + 打表找规律 + dp计数)

    题目链接: https://codeforces.com/contest/166/problem/E 题目: 题意: 给你一个三菱锥,初始时你在D点,然后你每次可以往相邻的顶点移动,问你第n步回到D点 ...

  8. 找规律/贪心 Codeforces Round #310 (Div. 2) A. Case of the Zeros and Ones

    题目传送门 /* 找规律/贪心:ans = n - 01匹配的总数,水 */ #include <cstdio> #include <iostream> #include &l ...

  9. 找规律 Codeforces Round #309 (Div. 2) A. Kyoya and Photobooks

    题目传送门 /* 找规律,水 */ #include <cstdio> #include <iostream> #include <algorithm> #incl ...

随机推荐

  1. 【剑指Offer】面试题27. 二叉树的镜像

    题目 请完成一个函数,输入一个二叉树,该函数输出它的镜像. 例如输入:      4    /   \   2     7  / \   / \ 1   3 6   9 镜像输出:      4   ...

  2. springboot启动时候的一个注意事项——不同包下有同样名字的class类

    springboot 在启动时候,常启动不起来,检查发现是不同包下面有同名的service和serviceImpl,按理说不同包下是可以有同名的类存在的,但是启动就是启动不了,报错说 org.spri ...

  3. centos6.5搭建hadoop单节点

    1.添加用户 groupadd  hadoop useradd -d /home/hadoop -m hadoop -g hadoop passwd hadoop    修改密码 付给用户sudo权限 ...

  4. Emacs服务器模式以及emacsclient配置

    Emacs有很多强大的插件,但是插件安装多了会导致启动速度很慢.为了解决这个问题,一个方法是使用emacs提供的server模式. 基本用法[1] 启动emacs server: $ emacs -- ...

  5. 141-PHP类的抽象方法和继承实例(一)

    <?php abstract class ren{ //定义人类 //定义成员属性 protected $name=''; protected $age=0; //定义成员方法 public f ...

  6. 利用ThoughtWorks.QRCode生成二维码

    一.项目添加ThoughtWorks.QRCode.dll和System.Drawing.dll的引用 二.创建二维码公共处理类(QRCodeHandler.cs) /// <summary&g ...

  7. java开发 中台

    中台就是接入层啊,一般有中台的都是比较大的项目,后台会分为很多模块,比如订单模块,比如会员模块,接入层需要做的就是对数据的封装,权限的过滤,以及各种安全什么的, 前台需要什么数据,接入层去对应的后台微 ...

  8. Python 加载mnist、cifar数据

    import tensorflow.examples.tutorials.mnist.input_data mnist = input_data.read_data_sets("MNIST_ ...

  9. 吴裕雄--天生自然C++语言学习笔记:C++ 数据抽象

    数据抽象是指,只向外界提供关键信息,并隐藏其后台的实现细节,即只表现必要的信息而不呈现细节. 数据抽象是一种依赖于接口和实现分离的编程(设计)技术. 它们向外界提供了大量用于操作对象数据的公共方法,也 ...

  10. md5sum|zip|

    ##move## ;i<=;i++));do cp combine_all.split_$i split_$i;done ##gzip## mkdir gzip/workshell ;i< ...