NYOJ 46最小乘法次数
来源:互联网 发布:mac网络图工具 编辑:程序博客网 时间:2024/05/06 07:18
最少乘法次数
时间限制:1000 ms | 内存限制:65535 KB难度:3- 描述
给你一个非零整数,让你求这个数的n次方,每次相乘的结果可以在后面使用,求至少需要多少次乘。如24:2*2=22(第一次乘),22*22=24(第二次乘),所以最少共2次;
- 输入
- 第一行m表示有m(1<=m<=100)组测试数据;
每一组测试数据有一整数n(0<n<=10000); - 输出
- 输出每组测试数据所需次数s;
- 样例输入
3234
- 样例输出
122
算法分析:
最少乘法次数
时间限制:1000 ms | 内存限制:65535 KB
难度:3
给你一个非零整数,让你求这个数的n次方,每次相乘的结果可以在后面使用,求至少需要多少次乘。如24:2*2=22(第一次乘),22*22=24(第二次乘),所以最少共2次;
- 输入
- 第一行m表示有m(1<=m<=100)组测试数据;
每一组测试数据有一整数n(0<n<=10000); - 输出
- 输出每组测试数据所需次数s;
- 样例输入
3234
- 样例输出
122
首先,这道题题意模糊不清,刚开始我还以为不断使用最大的结果去寻找给出的数,后来才发现竟然是利用前面出现的加出要求的数值,求最少次数。注意:n<=100000,题目似乎错了,且n==1时,结果为0,是个特殊情况。程序很简单,代码如下:
#include <stdio.h>int main(){int m,n;scanf("%d",&m);while(m--){ int a=0,b;scanf("%d",&n);b=n;while(n != 1){ if(n%2 != 0) {n-=1; a++;}else{n/=2; a++;}}if(b != 1) printf("%d\n",a);elseprintf("0\n");}return 0;}
0 0
- NYOJ 46最小乘法次数
- NYOJ-46:最少乘法次数
- nyoj 46-最少乘法次数
- nyoj-46-最少乘法次数
- nyoj 46 最少乘法次数
- Nyoj 46 最少乘法次数
- nyoj 46 最少乘法次数
- NYOJ-46 最少乘法次数
- nyoj 46 最少乘法次数
- NYOJ 46 最少乘法次数
- 最少乘法次数 nyoj 46
- 【NYOJ】[46]最少乘法次数
- NYOJ-46-最少乘法次数
- NYOJ:46-最少乘法次数
- 南阳 46 最小乘法次数
- NYOJ 46-最少乘法次数(数论)
- NYOJ-最少乘法次数
- NYOJ 最少乘法次数
- STL--D - Message Flood
- 《暗时间》——刘未鹏 读书笔记by小步
- HDU 3466 Proud Merchants 条件限制01背包
- Servlet 工作原理解析
- NSArray中去除重复的元素
- NYOJ 46最小乘法次数
- C语言基础——大总结
- 同余问题之中国剩余定理 _(:з」∠)_
- ios常用关键字区别
- hdu 1176 免费馅饼
- 437 - The Tower of Babylon(动态规划)
- oracle 11g The listener supports no services 一例
- poj 2771 最大独立点集
- 学习日记之备忘录模式和继承、面向对象设计