将10以下所有质数乘以1,2,3,4,5的程序

时间:2018-07-24 03:02:22

标签: java

我已经写了一些代码,想知道如何使所有低于10,(2,3,5,7)的质数乘以0,(1,2,3, 4,5)。第五行的n是10以下的质数。

 package sct;


public class PrimeNumberMultiplicationTables {

    }
            public static void main(String[] args) {
                int n = ??? ;
                for(int i=1; i <= 5; i++)
                {
                    System.out.println(n+" multiplied by "+i+" = "+n*i);

           }
      }
}

在此先感谢您。

2 个答案:

答案 0 :(得分:-2)

您必须编写一个主要函数才能找到它。这将帮助您https://stackoverflow.com/a/14650570/3154702。之后,添加一个for循环以迭代所建立的素数,并乘以五个数1,2,3,4,5。

答案 1 :(得分:-2)

这里是C#,您可以将其转换为Java。

class Program
{
    static void Main(string[] args)
    {
        for (var i = 1; i <= 10; i++)
        {
            if (!IsPrime(i)) continue;

            for (var j = 1; j <= 5; j++)
            {
                var value = i * j;
                Console.WriteLine(i + " multiplied by " + j + " = " + value);
            }
        }

        Console.ReadLine();
    }

    public static bool IsPrime(int candidate)
    {
        if ((candidate & 1) == 0)
        {
            return candidate == 2;
        }

        for (var i = 3; (i * i) <= candidate; i += 2)
        {
            if (candidate % i == 0)
            {
                return false;
            }
        }
        return candidate != 1;
    }
}

添加Java版本:

public class HelloWorld{

 public static void main(String []args){
    for (int i = 1; i <= 10; i++)
    {
        if (!IsPrime(i)) continue;

        for (int j = 1; j <= 5; j++)
        {
            int value = i * j;
            System.out.println(i + " multiplied by " + j + " = " + value);
        }
    }
 }

public static boolean IsPrime(int candidate)
{
    if ((candidate & 1) == 0)
    {
        return candidate == 2;
    }

    for (int i = 3; (i * i) <= candidate; i += 2)
    {
        if (candidate % i == 0)
        {
            return false;
        }
    }
    return candidate != 1;
}

}