c语言实现得到某数的某方(n^k)的值

news/2024/10/22 18:30:23/

这里也有递归和循环两种方式解决。

一.循环

首先,我们要分三种情况,k大于小于等于0这三种。

当k=0,为1;k>0;我们可以知道,n^k是k个n相乘。所以循环体我们就知道了。当k<0时,它其实是n^(-k)的倒数,所以就解决了。

代码:

#include <stdio.h>
double Pow(double n, int k)
{if (k > 0){for (int i = 1; i < k; i++){n = n * n;}return n;}else if (k < 0){for (int i = 1; i < -k; i++){n = n * n;}n = (1.0 / n);return n;}elsereturn 1;
}
int main()
{double n = 0;int k = 0;scanf("%lf%d", &n, &k);double ret= Pow(n, k);printf("%lf\n", ret);return 0;
}

二.递归

但是,递归的方法是更好的。n^k=n*n^(k-1)。根据这个式子,我们就可以写出递归了。

代码如下:

#include <stdio.h>
double Pow(int n, int k)
{if (k == 0)return 1;else if (k > 0){return n * Pow(n, k - 1);}elsereturn 1.0 / Pow(n, -k);
}
int main()
{int n = 0, k = 0;scanf("%d%d", &n, &k);printf("%lf", Pow(n, k));return 0;
}

 

至此,就介绍完了。

祝:“码”思泉涌,下“指”如有神。 


http://www.ppmy.cn/news/1287385.html

相关文章

一次降低进程IO延迟的性能优化实践——基于block层bfq调度器(下篇)

在上一篇《一次降低进程IO延迟的性能优化实践——基于block层bfq调度器》基础上&#xff0c;本文主要总结实现该IO性能优化过程遇到的 IO卡死、IO重复派发、内核crash等问题。 1&#xff1a;IO重复派发触发了crash 在初版代码编写完成后&#xff0c;启动fio测试cat读取文件&a…

CGAL的AABB tree

1、介绍 AABB树组件提供了一种静态数据结构和算法&#xff0c;用于对有限的三维几何对象集进行高效的交集和距离查询。可以查询数据结构中存储的几何对象集&#xff0c;以进行交集检测、交集计算和距离计算。 交集查询可以是任何类型的&#xff0c;只要在traits类中实现了相应的…

Mybatis SQL构建器类 - SqlBuilder and SelectBuilder (已经废弃)

在3.2版本之前&#xff0c;我们采用了一种略有不同的方法&#xff0c;通过利用ThreadLocal变量来掩盖一些使Java DSL有点繁琐的语言限制。然而&#xff0c;这种方法现在已被弃用&#xff0c;因为现代框架已经普及了使用构建器模式和匿名内部类的概念。因此&#xff0c;SelectBu…

十大排序算法归纳

目录 排序算法的分类 插入排序算法模板 选择排序算法模板 冒泡排序算法模板 希尔排序算法模板 快速排序算法模板 归并排序算法模板 堆排序算法模板 基数排序算法模板 计算排序算法模板 桶排序算法模板 排序算法的分类 插入&#xff1a;插入&#xff0c;折半插入&am…

大数据应用领域:数据驱动一切

大数据出现的时间只有十几年&#xff0c;被人们广泛接受并应用只有几年的时间&#xff0c;但就是这短短几年的时间&#xff0c;大数据呈现出爆炸式增长的态势。在各个领域&#xff0c;大数据的身影几乎无处不在。今天我们通过一些大数据典型的应用场景分析&#xff0c;一起来看…

【Unity入门】MenuItem 和 ContextMenu 的使用方法

目录 一、ContextMenu描述使用示例ContextMenuItem使用示例 二、MenuItem描述使用示例 三、MenuItem 和 ContextMenu 的区别 一、ContextMenu 描述 ContextMenu 属性用于向上下文菜单添加命令。 在该附加脚本的 Inspector 中&#xff0c;当用户选择该上下文菜单时&#xff0c…

算法学习系列(十八):字符串哈希

目录 引言一、字符串哈希概念二、代码实现 引言 这个字符串哈希还是比较厉害的啊&#xff0c;只要是有关字符串的题目&#xff0c;这个字符串哈希都是可以轻松水过&#xff0c;所以说这个还是得好好掌握啊&#xff0c;话不多说&#xff0c;直接开始。 一、字符串哈希概念 这…

TypeScript 基础知识:基本数据类型

TypeScript 是一种强类型的编程语言&#xff0c;它在 JavaScript 的基础上增加了静态类型检查。在 TypeScript 中&#xff0c;我们可以使用类型注解和类型推断来声明和推断变量的类型。本篇专栏文章将深入探索 TypeScript 中的基本数据类型&#xff0c;并提供实际示例代码。 一…