E-rin和快速迭代

题目描述

rin最近喜欢上了数论。

然而数论实在太复杂了,她只能研究一些简单的问题。

这天,她在研究正整数因子个数的时候,想到了一个“快速迭代”算法。设 f(x)f(x)f(x)f(x)f(x)f(x)f(x)f(x)f(x) 为 xxxxxxxxx 的因子个数,将 fffffffff 迭代下去,rin猜想任意正整数最终都会变成 222222222 。

例如:f(12)=6,f(6)=4,f(4)=3,f(3)=2f(12)=6,f(6)=4,f(4)=3,f(3)=2f(12)=6,f(6)=4,f(4)=3,f(3)=2f(12)=6,f(6)=4,f(4)=3,f(3)=2f(12)=6,f(6)=4,f(4)=3,f(3)=2f(12)=6,f(6)=4,f(4)=3,f(3)=2f(12)=6,f(6)=4,f(4)=3,f(3)=2f(12)=6,f(6)=4,f(4)=3,f(3)=2f(12)=6,f(6)=4,f(4)=3,f(3)=2 。

她希望你帮她验证一下。她会给你一个正整数 ,让你输出它在迭代过程中,第一次迭代成 222222222 的迭代次数。

输入描述:

一个正整数 nnnnnnnnn(3≤n≤10123≤n≤10123≤n≤10123≤n≤10123 \le n \le 10^{12}3≤n≤10123≤n≤10123≤n≤10123≤n≤1012)

输出描述:

一个正整数,为 nnnnnnnnn 迭代至 222222222 的次数。

示例1
12
4
*/

思路如下

暴力求解这一题,让我们求某个数的因子,我们就直接求(但是还要稍微优化一下)

题解如下

#include<iostream>
using namespace std; long long find(long long n)
{
long long i; //注意⚠️这里的i一定要是 long long 否则 i * i 超过int 范围
int cnt = 0;
for(i = 1; i * i < n; i ++)
if(n % i == 0)
cnt += 2;
return cnt + (i * i == n);
} int main()
{
long long n;
scanf("%lld", &n);
long long int tim = 0; while(n != 2) n = find(n),tim ++; printf("%lld", tim); return 0;
}

牛客寒假基础集训营 | Day1 E-rin和快速迭代(暴力 + 优化)的更多相关文章

  1. 牛客寒假基础集训营 | Day1 G-eli和字符串

    G-eli和字符串 题目描述 eli拿到了一个仅由小写字母组成的字符串. 她想截取一段连续子串,这个子串包含至少 kkkkkkkkk 个相同的某个字母. 她想知道,子串的长度最小值是多少? 注:所谓连 ...

  2. 牛客寒假基础集训营 | Day1 J题—u's的影响力(水题)

    Day1 J题-u's的影响力 有一天,kotori发现了一个和lovelive相似的游戏:bangdream.令她惊讶的是,这个游戏和lovelive居然是同一个公司出的! kotori经过一段时间 ...

  3. 牛客寒假基础集训营 | Day1 D-hanayo和米饭

    D-hanayo和米饭 题目描述 hanayo很喜欢吃米饭. 有一天,她拿出了 nnnnnnnnn 个碗,第一个碗装了 111111111 粒米饭,第二个碗装了 222222222 粒米饭,以此类推, ...

  4. 牛客noip前集训营(第一场)提高T1

    链接:https://www.nowcoder.com/acm/contest/172/A来源:牛客网 题目描述 小N得到了一个非常神奇的序列A.这个序列长度为N,下标从1开始.A的一个子区间对应一个 ...

  5. 2020牛客NOIP赛前集训营-普及组(第二场)A-面试

    面 试 面试 面试 题目描述 牛牛内推了好多人去牛客网参加面试,面试总共分四轮,每轮的面试官都会对面试者的发挥进行评分.评分有 A B C D 四种.如果面试者在四轮中有一次发挥被评为 D,或者两次发 ...

  6. 2020牛客NOIP赛前集训营-普及组(第二场) 题解

    目录 T1 面试 描述 题目描述 输入描述: 输出描述: 题解 代码 T2 纸牌游戏 描述 题目描述 输入描述: 输出描述: 题解 代码 T3 涨薪 描述 题目描述 输入描述: 输出描述: 题解 代码 ...

  7. 「牛客CSP-S2019赛前集训营2」服务器需求

    传送门 NowCoder 解题思路 考虑一种贪心选择方法:每次选出最大的 \(m\) 个 \(a_i\) 进行覆盖. 那么就会出现一种特殊情况,最高的那个 \(a_i\) 需要多次选择,而且不得不每次 ...

  8. 「牛客CSP-S2019赛前集训营1」仓鼠的石子游戏

    传送门 NowCoder 解题思路 考虑这样一件事:在任何的同一个石圈,后手肯定会输. 证明很简单,手玩一下就可以大致意会. 但是有一种特殊情况,就是大小为1的圈,这种圈就是起到一次交换先后手的作用, ...

  9. 2020牛客NOIP赛前集训营-提高组(第三场)C-牛半仙的妹子Tree【虚树,最短路】

    正题 题目链接:https://ac.nowcoder.com/acm/contest/7609/C 题目大意 给出\(n\)个点的一棵树,\(m\)个时刻各有一个操作 标记一个点,每个点被标记后的每 ...

随机推荐

  1. 【原创】(四)Linux进程调度-组调度及带宽控制

    背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel版本: ...

  2. Python - requests发送请求报错:UnicodeEncodeError: 'latin-1' codec can't encode characters in position 13-14: 小明 is not valid Latin-1. Use body.encode('utf-8') if you want to send it encoded in UTF-8.

    背景 在做接口自动化的时候,Excel作为数据驱动,里面存了中文,通过第三方库读取中文当请求参数传入 requests.post() 里面,就会报错 UnicodeEncodeError: 'lati ...

  3. 后台管理遇到的坑一、style中css样式怎么传入变量值

    第一.给标签定义style变量 第二.在data中定义 第三.在methods中的方法中给样式赋值

  4. OpenWrt tcpdump 抓包

    路由器用的是 网件的 4300 刷的是石像鬼双固件 1, 安装支持库opkg updateopkg install libpcapopkg install tcpdump 2, 设置条件开始捕获tcp ...

  5. linux中的源码安装

    前两天自己在笔记本上装了CentOs版本的虚拟机,接着要装Python3,是源码安装的挺费劲,个人总结了一些源码安装的经验,今天在这里给大家分享一下. 1. 首先准备环境,安装必要的编译工具gcc g ...

  6. MVC项目中存储公用链接方法

    小白成长记第一篇,随手记录一下小常识 将固定地址写在web.config文件appSettings中 Controller调用方法:

  7. [vue/require-v-for-key] Elements in iteration expect to have 'v-bind:key' directives.

    使用VScode开发vue中,v-for在Eslint的规则检查下出现报错:如下Elements in iteration expect to have ‘v-bind:key’ directives ...

  8. Leetcode 1160: 拼写单词

    给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars. 假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符串),那么我们就认为你掌 ...

  9. Spark入门(六)--Spark的combineByKey、sortBykey

    spark的combineByKey combineByKey的特点 combineByKey的强大之处,在于提供了三个函数操作来操作一个函数.第一个函数,是对元数据处理,从而获得一个键值对.第二个函 ...

  10. vue 开发时候 nginx绑定多个系统 爆红 sockjs-node/info?t

    如果你的浏览器,与NPM服务器,不是同一个机器(不是localhost),那么会导致这个报错. 我搜索了好久,才发现这个是可以在webpackjs里配置的(即vue.config.js): https ...