求正整数的非负整数次幂
算法设计思路:
要使用递归算法求解问题,首先要确定问题的规模,且规模确定后解决原问题的解是由小规模的解构成。
所以算法的基础步为:if(n==0) y=1;
算法的归纳步为:y=power(x,n/2);
y=y*y;
if(n%2==1)
y=y*y
1.#include<stdio.h>
2.#include<stdlib.h>
3.static int count=0;
4.
5.int power(int x,int n)
6.{
7. long long y;
8. if(n==0) y=1;
9. else{
10. y = power(x,n/2);
11. y = y*y;
12. if(n%2 == 1)
13. y = y*x;
14.
15. }
16. count++;
17. printf("第%d次递归:",count);
18. printf("%lld\n",y);
19. return y;
20.
21.}
22.
23.int main()
24.{
25. int x;
26. int y;
27. printf("请输入底数:");
28. scanf("%d",&x);
29. printf("请输入指数:");
30. scanf("%d",&y);
31. long long z=power(x,y);
32. printf("结果为:%lld",z);
33. return 0;
34. }
求正整数的非负整数次幂相关推荐
- 减半技术实现求a的n次幂
目录 减半技术实现求a的n次幂 程序设计 程序分析 减半技术实现求a的n次幂 [问题描述]给定两个正整数a和n,采用减半技术求a的n次幂:其中a<100,b<20; [输入形式]两个整数a ...
- 减一技术实现求a的n次幂
目录 减一技术实现求a的n次幂 程序设计 程序分析 减一技术实现求a的n次幂 [问题描述]给定两个正整数a和n,求a的n次幂:其中a<100,b<20; [输入形式]两个整数a,n(a与n ...
- 辗转相除法(求两个非负整数的最大公约数)(拓展:求n个非负整数的最大公约数)
求两个非负整数的最大公约数 int main() {int m, n;scanf("%d %d", &m, &n);int k = 0;while (k = m%n ...
- NYOJ 90 —— 求正整数n划分为若干个正整数的划分个数
整数划分 时间限制:3000 ms | 内存限制:65535 KB 描述 将正整数n表示成一系列正整数之和:n=n1+n2+-+nk, 其中n1≥n2≥-≥nk≥1,k≥1. 正整数n的这种表 ...
- 08、求x的y的幂次方的最后3位数——循环
求x的y的幂次方的最后3位数 求x的y的幂次方的最后3位数 程序代码如下: /*2017年3月12日14:07:05功能:程序求x的y的幂次方的最后3位数*/#include"stdio.h ...
- 华为上机:求2的N次幂的值
求2的N次幂的值 描述: 求2的N次幂的值(N最大不超过31,用位运算计算,结果以十六进制进行显示). 运行时间限制: 无限制 内存限制: 无限制 输入: 数字N 输出: 2的N次方(16进制,需要按 ...
- C语言循环求出2的10次幂,C语言求2的100次幂的结果.doc
C语言求2的100次幂的结果 求2的100次幂的结果 #include #include #include #include void main void int a,b,i; char s[40], ...
- 求正整数N(N1)的质因数的个数,相同的质因数需要重复计算(java)
package Four; /** 分解质因数* 素数常用来分解质因数,每个数都可以写成一个或几个质数相乘的形式* 其中每个质数都是这个数的质因数,把一个数用质因数相乘的形式表示出来,* 就称为分解质 ...
- 信息学奥赛一本通 1150:求正整数2和n之间的完全数
[题目链接] ybt 1150:求正整数2和n之间的完全数 [题目考点] 1.因数.因子 因数(因子)是指整数a除以整数b(b≠0) 的商正好是整数而没有余数,我们就说b是a的因数. 因数包括这个数本 ...
最新文章
- web标准化设计:常用的CSS命名规则
- 压缩网络模型,或者是融合多个神经网络
- C代码开发遇到的问题 变量初始化和结构体指针移动
- WinCE6.0的极速启动
- Netty技术细节源码分析-内存池之PoolChunk设计与实现
- 【跃迁之路】【593天】程序员高效学习方法论探索系列(实验阶段350-2018.09.21)...
- 数据库容灾、复制解决方案全分析
- 解决eclipse报PermGen space内存溢出异常的问题
- javaSE-基础篇-经典赋值:两变量值的交换
- 海思3159A运行yolov3(一)——安装caffe(Bug汇总篇)
- textarea 的中文输入判断与搜狗输入法的特殊行为
- take android,Protake
- 磁盘分区之MSDOS与GPT
- python面向对象游戏_【Python之旅】第四篇(四):基于面向对象的模拟人生游戏类...
- 那些年的成长,爱情的总结
- NOI.6.08石头剪刀布
- 台式计算机突然连接不到网络,电脑突然网络感叹号导致不能上网的解决方法
- ARM惹众怒,美国芯片行业也开始抛弃它,跟随中国芯片支持新架构
- 中后台管理系统之登录流程
- 想哪写哪_随笔20191203