版权声明:@今年依旧12岁 https://blog.csdn.net/qq_34087199/article/details/88578172
因式分解算法
int element = Num; //用于因式分解的数
int flag = element;
Dictionary<int, int> factor = new Dictionary<int, int>(); //Value>Key
for (int i = 1; i < flag ; i++)
{
if (element % i == 0) //能整除
{
factor[i] = element / i;
}
flag = element / i;
}
X+一个数为平方根,X+另一个数还为平方根的C#算法:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace YinShiFenJie
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入了两个数:");
string num = Console.ReadLine();
string[] N = num.Split(',');
int num1 = Convert.ToInt32(N[0]);
int num2 = Convert.ToInt32(N[1]);
int element = Math.Abs(num1-num2); //两数的差的平方
int a=0, b=0;
int flag = element;
Dictionary<int, int> factor = new Dictionary<int, int>(); //Value>Key
for (int i = 1; i < flag ; i++)
{
if (element % i == 0) //能整除
{
factor[i] = element / i;
}
flag = element / i;
}
Console.WriteLine(element + "的因数有:");
foreach (KeyValuePair<int, int> item in factor)
{
Console.WriteLine(item.Key+","+item.Value);
if ((item.Key + item.Value) % 2 == 0)
{
a = (item.Value + item.Key) / 2;
b = (item.Value - item.Key) / 2;
Console.WriteLine("该因式对为:"+a+","+b+"的和差积");
Console.WriteLine("这个数可以为:" + ((a * a) + (b * b) - num1 - num2) / 2);
}
}
Console.ReadKey();
}
}
}