永发信息网

求Csharp编程代码

答案:1  悬赏:70  手机版
解决时间 2021-04-05 08:51
求Csharp编程代码
最佳答案
调用
Console.WriteLine(GoldbachConjecture(6, 100, 5, "{0}={1}+{2};"));

//哥德巴赫猜想
public static string GoldbachConjecture(int startNumber, int endNumber, int maxLength, string formatString)
{
StringBuilder result = new StringBuilder();
List primeNumbers = GetPrimeNumber(endNumber);
//排除2的数字
primeNumbers.RemoveAt(0);

//循环区间内的偶数
int index = 0;
for (int i = Math.Max(6, startNumber); i <= endNumber; i += 2)
{
//输出拆分后的结果
foreach (int primeNumber in primeNumbers)
{
//两数相加超出范围时退出循环
//if ((i - primeNumber) < 0)
//break;

//判断当前的偶数减去一个质数后,另一个值是否在质数列表中
if (!primeNumbers.Contains(i - primeNumber))
continue;
//输出指定格式
result.AppendFormat(formatString, i, primeNumber, i - primeNumber);
//只输出一次。如果要把所有可能都输出的话,请取消循环内第一行注释并注释下面这行。
break;
}

//每行输出 maxLength 个
if (++index % maxLength == 0)
{
result.AppendLine();
}
}
return result.ToString();
}

//获取所有小于 endNumber的素数(质数)
public static List GetPrimeNumber(int endNumber)
{
List primeNumbers = new List();
primeNumbers.Add(2);

for (int i = 3; i < endNumber; i += 2)
{
bool isPrimeNumber = true;
//判断当前值之前的质数判断能否整除
foreach (int primeNumber in primeNumbers)
{
//能整除则不是质数
if (i % primeNumber == 0)
{
isPrimeNumber = false;
break;
}
//平方根判断,减少运算次数
if (primeNumber > Math.Sqrt(i))
{
break;
}
}
//如果是质数
if (isPrimeNumber)
{
primeNumbers.Add(i);
}
}
return primeNumbers;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
新人求助,黑魂三用什么手柄好
我家有7个青花瓷碗很薄对着灯光从碗内能看见
丛林侠盗艾希珍贵吗,lol现在怎么能获得艾希丛
cleans the classroom can go home first.A.
暗黑1.11单刷6BOSS的圣骑士怎么加点?
电脑变成了画板,鼠标一动就划线,是什么原因
将f(x)=ln(2x^2+3x+1)展开为麦克劳林级数
圣诞节是干什么的,哪些国家过年是在圣诞节的
喜欢一个女孩女孩也喜欢我,但她有男朋友了!
大岭镇的概况
出车祸脸上也被擦伤了,要怎么样才不会留下疤
奈曼旗旗长被打
pp-r管件弯头有没有130和160
单选题商鞅变法促进秦国封建化的的核心措施是
刘惜君这个名字有什么前途
推荐资讯
文峰区安阳四方资产评估事务所公司在哪里啊,
求古文祝福美女的诗句,
非法收账的一般采取什麼手段,需要给手下弟兄
氮气罐指示为0里面还有氮气吗?
支付宝公司账户如何找回密码 详细??
下列句子中加点成语使用正确的一项是A. 辽阔
当一个男人不再亲吻你的嘴,只是会抱着你,抱
反恐精英olcrow-9怎么用
取一个听着就发财的店名
求bl小说《网游之你追我逃》全文+番外
魔兽火影RPG防守进攻地图
台前到清河乡的距离和台前到吴坝乡的距离分别
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?