区间内,N的倍数的值的和,算法
程序员文章站
2022-05-20 17:33:15
...
例:求10-50之间的是7的倍数的值的和.有特殊奖励
经常在学PHP的时候总会遇到一些题.什么水仙花啊,什么素数的和之类的.今天我看到某个网站上的这道题,对于这道题的答案,基本都是以下这个函数.
经常在学PHP的时候总会遇到一些题.什么水仙花啊,什么素数的和之类的.今天我看到某个网站上的这道题,对于这道题的答案,基本都是以下这个函数.
function newSumMultiple($min,$max,$multiple){
$sum = 0;
for(;$min
今天我突发奇想,一直都是这样子,老师教的时候都是照本宣科,真的是无语.于是我就想了以下这种思路.
function sumMultiple($min,$max,$multiple){
$remainder=$min % $multiple;
if($remainder){
$remainder = $min + $remainder + 1;
$min = $remainder;
}else{
$remainder = $min;
}
$sum = 0;
while(true){
$sum += $remainder;
$min += $multiple;
if($min >= $max){
break;
}
$remainder = $remainder + $multiple;
}
return $sum;
}
求一个新的算法,最好附上代码.
回复内容:
例:求10-50之间的是7的倍数的值的和.有特殊奖励
经常在学PHP的时候总会遇到一些题.什么水仙花啊,什么素数的和之类的.今天我看到某个网站上的这道题,对于这道题的答案,基本都是以下这个函数.
function newSumMultiple($min,$max,$multiple){
$sum = 0;
for(;$min
今天我突发奇想,一直都是这样子,老师教的时候都是照本宣科,真的是无语.于是我就想了以下这种思路.
function sumMultiple($min,$max,$multiple){
$remainder=$min % $multiple;
if($remainder){
$remainder = $min + $remainder + 1;
$min = $remainder;
}else{
$remainder = $min;
}
$sum = 0;
while(true){
$sum += $remainder;
$min += $multiple;
if($min >= $max){
break;
}
$remainder = $remainder + $multiple;
}
return $sum;
}
求一个新的算法,最好附上代码.
用 min, max 分别整除 multiple 得到上下界然后用等差数列求和公式
推荐阅读
-
Java实现求子数组和的最大值算法示例
-
c. 求阶乘和的方法(N的值不能太大)初学者
-
使用C语言编写程序,计算N个整数的和(随机输入一个值,例如1到100之间所有整数的和)
-
1)的累加和(累乘积(阶乘))。其中n的值从键盘输入。输入一个2000年以后的年份n,输出所有介于2">
PTA判断输入的整数是否是素数,如果是则输出"1",否则输出"0." 编写程序,求自然数1至n(n>1)的累加和(累乘积(阶乘))。其中n的值从键盘输入。输入一个2000年以后的年份n,输出所有介于2
-
C#求n个数中最大值和最小值的方法
-
字符串中找出连续最长的数字串:读入一个字符串str,输出字符串str中的连续最长的数字串;合法括号的判断:给定一个字符串A和其长度n,请返回一个bool值代表它是否为一个合法的括号串(只能由括号组成)
-
JavaScript求一组数的最小公倍数和最大公约数常用算法详解【面向对象,回归迭代和循环】
-
书写一个程序,把变量n的初始值设置为1957,然后利用除法运算和取余运算把变量n的每一位数字都抽出来并打印
-
java求阶乘和1!+3!+5!+……+N!的值
-
蓝桥杯 算法训练 - 连续正整数的和 78这个数可以表示为连续正整数的和,1+2+3,18+19+20+21,25+26+27。 输入一个正整数 n(<=10000) 输出 m 行(n有m