首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Excel公式练习69: 奇数

excelperfect 本次的练习是:如何使用公式求数字范围1至100内的奇数值之和?即: 1+3+5+7+…+97+99 的值。 先不看答案,自已动手试一试。...解决方案 公式1: =SUM(2*ROW(OFFSET(A1,,,100/2))-1) 这是一个数组公式。公式生成一个由1至100范围内的奇数值组成的数组,然后对它们求和。...1,得到由100以内的奇数组成的数组: {1;3;5;7;9;11;13;15;17;19;21;23;25;27;29;31;33;35;37;39;41;43;45;47;49;51;53;55;57...公式中的: MOD(ROW(1:100),2) 生成一个由10组成的数组: {1;0;1;0;1;0;1;0;1;0;1;0;1;0;1;0;1;0;1;0;1;0;1;0;1;0;1;0;1;0;1...,得到一个由100以内的奇数0组成的数组: {1;0;3;0;5;0;7;0;9;0;11;0;13;0;15;0;17;0;19;0;21;0;23;0;25;0;27;0;29;0;31;0;33

92290

Python应用之100以内的奇数

在数学中,我们需要用到很多求和的办法,比如说1至100的,还有100以内的所有偶数和和所有奇数,如果我们慢慢地计算是不是很浪费时间,还容易出错。...1.解题的思路 对100以内的奇数求和,有四种常见的解题方法: 用range函数遍历100以内的奇数,然后用sum函数求和 for 循环嵌套if语句,将100以内的奇数相加求和 while...循环将100以内的奇数相加,并打印求和 用递归方法求和 2.解题方法 方法一: sum函数 print(sum(range(1, 100, 2))) 首先用range函数创建了一个整数列表,range...,是奇数就相加(if i % 2 == 0,continue的含义是当数字为偶数时退出本次循环) 第8行: 用print函数打印其 代码运行效果: 方法三:while循坏 count = 0 number...变量number初始赋值为1 第4-6行: 设定while循环的运行条件(number < 100)及执行语句(count += number;number += 2)第8行: 用print函数打印其

2.1K20

算法-原址排序数组使奇数位于偶数前面的PHP实现

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数奇数,偶数偶数之间的相对位置不变。...1.遍历数组,判断元素奇数偶数,push进新数组,空间换时间 2.插入排序的思想 空间上是原址排序 2.1从前往后遍历,判断当前的是奇数 2.2...从当前的开始,从后往前遍历,如果是偶数就往后一位移动 2.3当前奇数插入位置 for i=1;i<arr.length;i++ target=arr[i] if arr[i]%2==...php $arr=array(1,2,3,4,5,6,7,8,9,10); function reOrderArray($arr){ $length=count($arr);...//从前往后遍历 for($i=1;$i<$length;$i++){ //判断当前元素是奇数 $target=$arr[

54320

最大连续子数组起始下标

在求出最大子数组同时,记录下对应的startend位置,即为最大子数组的对应下标。...,那么该数组最大的子数组只可能有三种情况,位于左边,位于右边,位于中间(部分左边,部分右边) 那么就只要比较左边最大L1,右边最大R1,中间最大M1,得出的结果即是整个数组的最大子数组左边最大L1... middle—>right分别最大,连起来即是最大,详见代码块2。...该算法的时间复杂度为 O(N*LogN),个人理解:(二分法复杂度LogN)*(middle最大值的N) 该方法没想到怎么求解出对应最大子数组的下标,有会的童鞋指导下。...因为是连续子数组,所以对于一个数组一定会存在endstart满足图片中的公式 所以最终演化成求解minStartmaxSum的两个,即是代码块中的两个判断的目的 该算法也是目前了解到的最优解,核心思想就是将用到了上一次循环的结果

1.2K40

php 两个数组的差集应该注意的事情

对于 phper 来说 array_diff 这个函数应该知道它的用途,获取两个数组的差集,我理解中的差集是这样的 ? 但是执行下代码会发现结果并不是 <?...php $a = [1,2,3,4,5]; $b = [3,4,5,6,7]; $c = array_diff($a,$b); print_r($c); //输出 Array ( [0] => 1 [1...] => 2 ) 我开始以为应该是会输出数组 [1,2,6,7] 才对的但是实际结果却不是,于是去翻下文档: ?...如图人家说的已经很清楚啦,是将后面的所有数组与 array1 作比较返回 在array1 中但是不在 其他 array 里的值。如果我们一定要实现图一那种求差集的方法的话就要这样做 <?...php $a = [1,2,3,4,5]; $b = [3,4,5,6,7]; $c = array_diff($a,$b); $d = array_diff($b,$a); $e = array_merge

1.9K20
领券