易经计算同根分值的算法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace dz
{
//易经计算同根分值部分算法
class Program
{
static void Main(string[] args)
{
float[] dzlist = new float[5];
dzlist[0] = 10;
dzlist[1] = 30;
dzlist[2] = 0;
dzlist[3] = 10;
dzlist[4] = 40;
int index=4;
System.Console.WriteLine(tgfe(dzlist, index));
System.Console.ReadKey();
}
public static float tgfe(float[] tglist, int index)
{
float sum = 0;
for (int i = 0; i < tglist.Length; i++) {
if (tglist[i] == 0) continue;
if (i == index) {
sum = sum + tglist[index]; continue;
}
else if (i < index) {
int l = i; int r = index;
for (int j = i; j <=index; j++) {
if (tglist[j] == 0) {
if (j == 0) l = 0;
else l = j-1;
break;
} else {
l = j;
};
}
for (int j = index; j > l; j--)
{
if (tglist[j] == 0)
{
if (j == tglist.Length - 1) r = tglist.Length - 1;
else if (j == index)
{
r = index;
}
else r = j + 1; break;
}
else
{
r = j;
}
}
switch (r - l) {
case 0:
sum = sum + tglist[i] * 1F;
break;
case 1: sum = sum + tglist[i] * 0.9F; break;
case 2: sum = sum + tglist[i] * 0.75F; break;
case 3: sum = sum + tglist[i] * 0.65F; break;
case 4: sum = sum + tglist[i] * 0.6F; break;
default: break;
}
}
else if (i > index) {
int l = index; int r = i;
for (int j = index; j <= i; j++)
{
if (tglist[j] == 0)
{
if (j == 0) l = 0;
else l = j - 1;
break;
}
else
{
l = j;
};
}
for (int j = i; j > l; j--)
{
if (tglist[j] == 0)
{
if (j == tglist.Length - 1) r = tglist.Length - 1;
else if (j == index)
{
r = index;
}
else r = j + 1; break;
}
else
{
r = j;
}
}
switch (r - l)
{
case 0:
sum = sum + tglist[i] * 1F;
break;
case 1: sum = sum + tglist[i] * 0.9F; break;
case 2: sum = sum + tglist[i] * 0.75F; break;
case 3: sum = sum + tglist[i] * 0.65F; break;
case 4: sum = sum + tglist[i] * 0.6F; break;
default: break;
}
}
}
return sum;
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】