在下面的代码片段中,我找到了区间a,b之间所有奇数的数字之和。
def SumOfDigits(a, b):
s = 0
if a%2 == 0:
a+=1
if b%2 == 0:
b-=1
for k in range(a,b+1,2):
s+= sum(int(i) for i in list(str(k)))
return s
是否有一种有效的方法来实现同样的目标?任何模式,这是导致一个明确的削减公式。
我在里搜索过
我正在编写一个简单的程序来找到两个输入数字之间的奇数之和,我希望得到任何反馈。我已经在这个问题上做了很长时间了,我需要一些专业知识。
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.print("#1: ");
int num1 = s.nextInt();
System.out.print("
这是一个关于计划欧拉编号2的问题,一个相对容易的问题。问题是:
Fibonacci序列中的每个新项都是通过添加前两个项来生成的。从1和2开始,前10项将是:1、2、3、5、8、13、21、34、55、89、.通过考虑Fibonacci序列中值不超过400万的项,找出偶数项的和。
我的代码非常简单;我对其他方法感兴趣(例如lamdba表达式)。
namespace ProjectEuler
{
public class Fibonacci
{
// find even number fibonacci terms < 4 mil.
publi
我正在试着解决欧拉计划的第十个问题,这个问题要求所有低于两百万的素数之和()。我得到的答案是143042032116,但实际答案是142913828922。代码有什么问题?
package projectEuler;
public class Euler10 {
public static void main(String[] args) {
// sum of prime numbers below 2million
long sum=0;
int maxValue=2*1000*1000;
for(int i=0
也就是说,下面的代码交替打印0到100之间的奇数和偶数。我的循环条件是count小于100。
为什么最终输出结果会达到100?如果不是100,跳出循环后就不能执行。
public class WaitNotifyPrintOddEvenSyn {
private static int count;
private static final Object lock = new Object();
//新建 2 个线程,一个只处理偶数,一个只处理奇数
//并且用 synchronized 来通信
public static void main(St
(这个问题指的是代码强制问题),我想知道是否有任何n (2 ≤ n ≤ 10¹⁴)有奇数除数。使用C++11,我认为通过迭代每一个奇数直到n,然后用%检查它是否是可除的,这是可能的。诸如:
for(unsigned long long i=3;i<n;i+=2){
if(n%i==0) return true; //It has an odd divisor
}
return false; //n%j==0 was never true so it doesn't have an odd divisor
当然,如果给出一个很大的数字,结果是非常缓慢的。我发现人们正在通过位移
我的目标是在一个加权无向图中找到所有的圈及其各自的权重。循环的权重被定义为构成循环的路径的权重之和。我的预置算法执行以下操作:
dfs(int start, int now,int val)
{
if(visited[now])
return;
if(now==start)
{
v.push_back(val);// v is the vector of all weights
return;
}
dfs through all nodes neighbouring to now;
}
我从每个
这就是我对这个问题的解决方案:是否可以对给定的字符串进行置换,以形成回文。对于很少的文字案例,我都是正确的。对于给定的情况,它会打印是的,即使它应该打印NO。
string = "cdefghmnopqrstuvw"
found = False
count = 0
for i in string:
if string.count('i') % 2 == 0:
found = True
else:
count += 1
if count > 1:
found = False
if not found:
print(
我正在上在线C课程,但教授拒绝回复电子邮件,我需要一些帮助。
无论如何,我们的任务是编写一个程序,从用户那里获取一个整数,并找到最大偶数位数,以及该数字在给定整数中发生的次数。
#include <stdio.h>
void extract(int);
void menu(void);
int main() {
menu();
}
void menu() {
int userOption;
int myValue;
int extractDigit;
do {
printf("\nMENU"
我必须编写一个递归函数来计算从1到n的偶数之和。例如,对于n=input= 6,预期的output would be: 2+4+6 = 12
def sum_of_even(n):
if not n % 2 == 0:
return n
else:
return n + sum_of_even(n-1)
print(sum_of_even(6))
输出为11,但我甚至不知道我的概念是否正确
我正在学习Swift中的高阶函数(比如.map .filter .reduce.)以及仿制药的类型。
这是我的功能:
func max<T: Comparable>(_ array: [T]) -> T {
var max = 0 as! T
for value in array {
if value > max { max = value }
}
return max
}
如何用高阶函数替换for循环以获得相同的结果?
我想做这样的事情(或者更好):
max = array.map { $0 > max ? $
我已经开始学习Java了,我需要你对我的第一个程序进行评论。它是一个解释器,可以计算任何表达式,包括abs()、sqrt()、min()、max()、round()和pow()。
你对此有什么看法?是否有任何代码缺陷或无意义的注释?
Main类
import java.io.*;
public class Main {
static boolean Error=false;
public static void main(String args[]) throws Exception{
System.out.println("Type an expres
从标准输入读取单个自然数n。在小于n的自然数中,找出除数之和最大的自然数。在计算某一数字的除数之和时,不应考虑数字本身。
#include <stdio.h>
int main ()
{
int n, n1, divisor = 0, sum = 0, largestSum = 0, final = 0;
scanf("%d",&n);
//for (int i = n; i > 0; i--)
//{
n1= n- 1;
while (n 1< n && n1 &
我已经自学C语言几个星期了,并且正在尝试编写一段代码,使用户能够决定数组中的大小和元素,然后将数组分成两个数组-一个用于奇数组,一个用于偶数组。
我非常确定动态分配与此有关,但我不确定如何实现它。以下是到目前为止的代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
//User decides the size of the array of numbers-------------------------------
int n;
printf("How many numbers?
奇怪数是指适当除数的和大于数本身的数,没有适当除数的子集与该数相加。
示例:
70是一个奇怪的数字,因为它的适当除数(1、2、5、7、10、14和35)求和到74 (大于70 ),而不将这些数字之和加到70。18不是一个奇怪的数字,因为它的适当除数(1,2,3,6,9)之和为21,大于18,但3,6和9和18之和。
我正在编写一个JavaScript函数,它从1 to 100获取这个奇怪的数字。
我正在为条件#2 而挣扎,没有适当除数的子集与这个数字相加。
更新: --我可以为条件#2获得这么多的逻辑
// assuming we put all the divisiors in an
public class OddSum {
public static int oddSum(int n) {
int totalSum;
if (n % 2 != 0 && n > 0) {
totalSum = totalSum + n;
System.out.println(totalSum);
return oddSum(n - 1);
//System.out.println(totalSum);
如何从输入的N个数中求偶数之和?我尝试了下面的代码,但找不到所需的输出。
n=int(input('Enter the number:'))
if(n<=0):
print('Enter a valid number')
else:
sum=0
count = 0
while(n>0):
for count in range (i % 2 ==0)
sum+=n
n-=1
print(sum)