小编Dan*_*ook的帖子

将罗马数字转换为十进制

我设法让我的代码将大多数罗马数字转换为适当的十进制值.但它不适用于某些特殊情况.示例:XCIX= 99但我的代码打印出来109.

这是我的代码.

public static int romanConvert(String roman)
{
    int decimal = 0;

    String romanNumeral = roman.toUpperCase();
    for(int x = 0;x<romanNumeral.length();x++)
    {
        char convertToDecimal = roman.charAt(x);

        switch (convertToDecimal)
        {
        case 'M':
            decimal += 1000;
            break;

        case 'D':
            decimal += 500;
            break;

        case 'C':
            decimal += 100;
            break;

        case 'L':
            decimal += 50;
            break;

        case 'X':
            decimal += 10;
            break;

        case 'V':
            decimal += 5;
            break;

        case 'I':
            decimal += 1;
            break;
        }
    }
    if (romanNumeral.contains("IV")) …
Run Code Online (Sandbox Code Playgroud)

java

39
推荐指数
4
解决办法
9万
查看次数

将数字四舍五入为最接近的5的倍数

有谁知道如何将数字四舍五入到最接近的5的倍数?我发现了一个算法将它四舍五入到最近的10的倍数,但我找不到这个.

这样做十分.

double number = Math.round((len + 5)/ 10.0) * 10.0;
Run Code Online (Sandbox Code Playgroud)

java rounding

34
推荐指数
6
解决办法
7万
查看次数

如何在Windows 7上运行ruby程序?

有谁知道如何在Windows 7上运行/编译Ruby程序?例如,您可以在Eclipse中编译Java,但我似乎无法为Ruby找到一个.

ruby compilation windows-7

25
推荐指数
2
解决办法
7万
查看次数

Python函数名中允许的字符

除了字母字符,数字和下划线之外,Python函数名中是否还有其他允许的字符?如果是的话,他们是什么?

python function

15
推荐指数
1
解决办法
1万
查看次数

使用BufferedReader在java中获取输入

到目前为止,我一直在使用Scanner对象接收输入,并想了解BufferedReader的工作原理.我试过了,它似乎只适用于Strings.有人可以告诉我如何使用它与int和double?并且你如何在同一行上要求两个String输入?谢谢.

java

5
推荐指数
1
解决办法
2万
查看次数

相比之下超过了最大递归深度

我写了这段代码来计算组合数:

def fact(n):
    return 1 if(n == 1) else n * fact(n - 1)

def combinations(n,k):
    return fact(n)/((fact(n - k) * fact(k)))

while(True):
    print(combinations(int(input()), int(input())))
Run Code Online (Sandbox Code Playgroud)

阶乘函数似乎工作正常。但是为什么当我尝试找到两个数字的组合时,它会给我一个最大递归深度超过比较错误?阶乘函数是否有问题,因为这似乎是错误的来源?

这是我得到的错误:

builtins.RuntimeError:相比之下超出了最大递归深度

python recursion combinations factorial

3
推荐指数
1
解决办法
2万
查看次数

使用字符串作为运算符?

例如,假设我有一堆这样的赋值语句:

if operator == '==':
   if a == b:
       c += 5
elif operator == '>':
   if a > b:
       c += 5
elif operator == '<':
   if a < b:
       c += 5
Run Code Online (Sandbox Code Playgroud)

我给出的if嵌套if语句和赋值只是例子,但在我写的程序中,它们真的很长.只是在操作员不同的地方出现了一个小小的变化,所以我不想在所有这些条件下一遍又一遍地重复相同的长代码.有太多的条件,代码将重复多次..那么有一个"更快"的方法来做到这一点?我可以将字符串定义为运算符吗?还是更好的方法?

python performance operators repeat

1
推荐指数
1
解决办法
79
查看次数

找到给定范围内的所有素数

我正在编写这个Java程序,它找到给定范围之间的所有素数.因为我正在处理非常大的数字,我的代码似乎不够快,并给我一个时间错误.这是我的代码,有谁知道让它更快?谢谢.

import java.util.*;
public class primes2 
{   
    private static Scanner streamReader = new Scanner(System.in);
    public static void main(String[] args)
    {
        int xrange = streamReader.nextInt(); 
        int zrange = streamReader.nextInt();
        for (int checks = xrange; checks <= zrange; checks++)
        {
            boolean[] checkForPrime = Primes(1000000);
            if (checkForPrime[checks])
            {
                System.out.println(checks);
            }
        }
    }
    public static boolean[] Primes(int n)
    {
        boolean[] isPrime = new boolean[n + 1];
        if (n >= 2)
            isPrime[2] = true;
        for (int i = 3; i <= n; i += 2) …
Run Code Online (Sandbox Code Playgroud)

java primes sieve-of-eratosthenes

0
推荐指数
1
解决办法
7693
查看次数

如何以表格格式打印字典?

假设我有一个字典:

my_dict = {1:[1,2,3],4:[5,6,7],8:[9,10,11]}
Run Code Online (Sandbox Code Playgroud)

我想能够打印它看起来像:

1 4 8
1 5 9
2 6 10
3 7 11
Run Code Online (Sandbox Code Playgroud)

我实际上正在处理更大的字典,如果我能看到它们的外观会很好,因为我只是说它们很难阅读 print(my_dict)

python formatting dictionary pretty-print

0
推荐指数
1
解决办法
7695
查看次数