最少乘法 求助
  • 板块灌水区
  • 楼主LuckiestShawn
  • 当前回复7
  • 已保存回复7
  • 发布时间2023/4/27 16:09
  • 上次更新2023/10/23 17:25:56
查看原帖
最少乘法 求助
401479
LuckiestShawn楼主2023/4/27 16:09

题目描述

给定一个正整数nn,最少需要多少次乘法运算才能从 aa 算出 a n{\ a\ }^n呢?

例如当n=5n=5 的时候,最少需要 33次乘法: a5=(a2)2⋅aa^5=\left(a^2\right)^2\cdot a

当n=23n=23 的时候,最少需要66次乘法,具体步骤为

令 x0=ax_0=a;

计算 x1=x0⋅x0=a2x_1=x_0\cdot x_0=a^2;

计算 x2=x0⋅x1=a3x_2=x_0\cdot x_1=a^3;

计算 x3=x1⋅x2=a5x_3=x_1\cdot x_2=a^5;

计算x4=x3⋅x3=a10 x_4=x_3\cdot x_3=a^{10};

计算 x5=x4⋅x4=a20x_5=x_4\cdot x_4=a^{20};

计算 x6=x2⋅x5=a23x_6=x_2\cdot x_5=a^{23}。

输入格式

单个整数表示 n。

输出格式

单个整数表示最少的乘法运算次数。

数据规模

对于 100%的数据:1≤n≤1041\le n\le {10}^4


正解只有85%的正确度,所以只能求近似解吗?

2023/4/27 16:09
加载中...