Divide it!
https://codeforces.com/contest/1176/problem/A
题意:采取三种操作,使得n变成1的步骤数;否则-1
题解:模拟
1、n分解成质数乘积;
2、ans=2的个数+3的个数*2+5的个数*3;
/*
*@Author: STZG
*@Language: C++
*/
#include <bits/stdc++.h>
#include<iostream>
#include<algorithm>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<string>
#include<vector>
#include<bitset>
#include<queue>
#include<deque>
#include<stack>
#include<cmath>
#include<list>
#include<map>
#include<set>
//#define DEBUG
#define RI register int
#define endl "\n"
using namespace std;
typedef long long ll;
//typedef __int128 lll;
const int N=100000+10;
const int M=100000+10;
const int MOD=1e9+7;
const double PI = acos(-1.0);
const double EXP = 1E-8;
const int INF = 0x3f3f3f3f;
ll t,n,m,k,p,l,r,u,v;
int ans,cnt,flag,temp,sum;
int a[N];
char str;
struct node{};
int main()
{
#ifdef DEBUGfreopen("input.in", "r", stdin);//freopen("output.out", "w", stdout);
#endif//ios::sync_with_stdio(false);//cin.tie(0);//cout.tie(0);scanf("%I64d",&t);while(t--){scanf("%I64d",&n);ans=0;while(n%2==0)n=n/2,ans++;while(n%3==0)n=n/3,ans+=2;while(n%5==0)n=n/5,ans+=3;cout<<(n==1?ans:-1)<<endl;}#ifdef DEBUGprintf("Time cost : %lf s\n",(double)clock()/CLOCKS_PER_SEC);
#endif//cout << "Hello world!" << endl;return 0;
}
Divide it!相关推荐
- BigDecimal divide方法结果为无限小数问题
参考:http://mengxiaozhe.iteye.com/blog/763552 10/3=3.3333333333333333.............. Java代码 public st ...
- LeetCode Divide Two Integers(不使用乘、除,求模来计算商)
题意:给出被除数,除数,求商(要求不能用乘,除,求模) 思路:用被除数减去除数,直到小于除数为止.在减的过程中能够做些优化.将除数连续左移直到大于被除数,在这个过程中可以计算是左移后的数是除数的多少倍 ...
- [leetcode]Divide Two Integers
直接用除数去一个一个加,直到被除数被超过的话,会超时. 解决办法每次将被除数增加1倍,同时将count也增加一倍,如果超过了被除数,那么用被除数减去当前和再继续本操作. #include <io ...
- Divide Two Integers
Divide two integers without using multiplication, division and mod operator. 思路:不能使用乘法除法以及取模运算来计算两个数 ...
- leetcode之Divide Two Integers
题目:Divide Two Integers Divide two integers without using multiplication, division and mod operator. ...
- numpy.divide详解
numpy.divide 用例: numpy.divide(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dt ...
- 【OpenCV3】cv::divide()使用详解
cv::divide()是一个简单的除法函数,有以下两种用法: 用法1: void cv::divide(cv::InputArray src1, // 输入数组1 (分子)cv::InputArra ...
- 成功解决RuntimeWarning: divide by zero encountered in double_scalars
成功解决RuntimeWarning: divide by zero encountered in double_scalars 目录 解决问题 解决思路 解决方法 解决问题 RuntimeWarni ...
- PowerBI随笔(7)-lookupvalue、divide
1.divide可以处理分母为0情况(返回空) 2.lookupvalue可以处理多条件lookup.
- Divide by three, multiply by two CodeForces - 977D (思维排序)
Polycarp likes to play with numbers. He takes some integer number xx, writes it down on the board, a ...
最新文章
- 编码 data:text/html;c,关于 Data URI Scheme -- data:image/jpg;base64
- 不使用 Maven 等构建工具,而使用原始方法在 IntelliJ IDEA 中制作 JAR 包
- django 套vue 模板_Vue admin template + Django 快速进行Web开发
- html dom 知乎,知乎登录页 - 粒子运动效果
- Android打开谷歌应用,谷歌确认 Android 12 新增剪贴板访问提醒,将在 Beta 2 上线
- 关于产品经理如何准备面试,我有三点想法
- mysql 登录默认实例_【MySQL案例】mysql本机登录-S失灵_mysql
- 【ADO.NET基础】加密方法公共类
- 决策树 随机森林 xgboost_从决策树到随机森林理论篇从人话到鬼话:看不懂来找我麻烦...
- Python time strftime() 方法
- ButterKnife View 注入
- WebSocket开发说明文档
- 3d游戏建模都需要准备些什么
- 嵌入式学习(一)嵌入式c语言
- 笔记——H.264/AVC与H.265/HEVC基本总结
- ios设备的弹窗页面,光标错位,光标乱跳
- 2020计算机视觉会议地点,2020年计算机视觉与信息技术国际会议(CVIT 2020)
- golang 脚本卡住
- CornerNet,CenterNet关键代码解读: kp,_decode,left pooling
- Android代号、版本、API版本号
热门文章
- android studio cmake opencv_Mac下安装及配置OpenCV环境(Xcode)
- 设置行内元素宽高和背景色后,行内元素文本不水平垂直居中解决方案
- 计算机一代的特点,计算机的特点_第一代计算机的特点
- Oracle查找包共用,oracle – 用于查找包的多级依赖关系的脚本
- ubuntu18.04的ifconfig输出没有ip地址
- 六十九、完成Vue项目城市选择页,路由配置,搜索框布局、列表布局、BetterScroll 的使用和字母表布局
- scikit-image 几个案例(下)
- 十八、Matplotlib数据可视化
- 某马Java架构师实战学习手册
- ACL 2022 | 清华大学、DeepMind等指出现有小样本学习方法并不稳定有效,提出评价框架...