• /// 根据两点求直线以及直线垂直平分线的k，b值， /// </summary> /// <param name="x1">传递值为已知坐标点x1，返回值为垂直平分线的x1</param> /// <param name="x2">传递值为已知...
		/// <summary>
/// 已知两点(线段)，求互相垂直平分两点(线段)。
/// </summary>
/// <param name="x1">传递值为已知坐标点x1，返回值为垂直平分线的x1</param>
/// <param name="x2">传递值为已知坐标点x2，返回值为垂直平分线的x2</param>
/// <param name="y1">传递值为已知坐标点y1，返回值为垂直平分线的y1</param>
/// <param name="y2">传递值为已知坐标点y2，返回值为垂直平分线的y2</param>
/// <returns>成功返回0；失败返回非0</returns>
private static int Calculate(ref float x1, ref float x2, ref float y1, ref float y2)
{
float k1 = 1; //已知坐标点直线的斜率k值
float b1 = 1; //已知坐标点直线的纵截距b值
float k2 = 1; //垂直平分线的斜率k值
float b2 = 1; //垂直平分线的纵截距b值

try
{
//特殊线1
if (x1 == x2)
{
float center = (y1 + y2) / 2;//中心点
float dist = Math.Abs(y1 - center);//端点到中心点的距离值
x1 = center - dist;
x2 = center + dist;
y2 = y1 = (x1 + x2) / 2;
return 0;
}

//特殊线2
if (y1 == y2)
{
float center = (x1 + x2) / 2;//中心点
float dist = Math.Abs(x1 - center);//端点到中心点的距离值
x1 = x2 = (y1 + y2) / 2;
y1 = center - dist;
y2 = center + dist;
return 0;
}

#region [求已知曲线的k和b]
float temp = 0;
float coefficient; //系数值
if (x1 >= x2)
{
coefficient = (float)Math.Round((x1 / x2), 2);
temp = y2 * coefficient; //将对应的函数乘以系数
b1 = (float)Math.Round(((temp - y1) / (coefficient - 1)), 2); //求出b值
k1 = (float)Math.Round(((y1 - b1) / x1), 2); //求出k值
}
else
{
coefficient = x2 / x1;
temp = y1 * coefficient;
b1 = (float)Math.Round(((temp - y2) / (coefficient - 1)), 2); //求出b值
k1 = (float)Math.Round(((y2 - b1) / x2), 2); //求出k值
}
#endregion [求已知曲线的k和b]

#region [垂直平分线的k，b以及起始点、终止点]
{
k2 = -1 / k1; //垂直平分线的斜率k值
b2 = (x1 + x2) / (2 * k1) + (y1 + y2) / 2; //垂直平分线的纵截距b值
double cenX = (x1 + x2) / 2;//交点x
double cenY = (y1 + y2) / 2;//交点y
double dist = Math.Sqrt(Math.Abs(x1 - x2) * Math.Abs(x1 - x2) + Math.Abs(y1 - y2) * Math.Abs(y1 - y2)) / 2;//每个点距离交点(中心点)距离相同
double douAngle = Math.Atan(k2);//垂直平分线和X轴的夹角

//计算起始点和终止点
x1 = (float)(cenX + dist * Math.Cos(douAngle));
x2 = (float)(cenX - dist * Math.Cos(douAngle));
y1 = (float)(cenY + dist * Math.Sin(douAngle));
y2 = (float)(cenY - dist * Math.Sin(douAngle));
}
#endregion

return 0;
}
catch
{
return -1;
}
}

展开全文
• 他们互相承诺过这次一定要平分的，可是他们没有东西来称量，却又不像读者一样会编程…… 你能帮帮他们吗？ 显然每个人应该分到7个箩筐，共有3.5筐鱼。采用一个3*3的数组a来表示三个人分到的东西。其中每个人对应...
1.有5个人大半夜地去捕鱼，到第二天响午才陆续醒来。第一个醒来的人将鱼分为5份，然后把多余的一条丢了……拿走了自己的一份。然后第二个人也将鱼分为5分，居然也把多余的一条给丢了……当然也不忘自己的一份。同样的，后面三个人也采用了相同的操作。那么他们至少捕了多少条鱼呢？
令鱼的总数为X，则（X - 1）可被5整除，那么拿走自己的一份后剩下的鱼为（X - 1）* 4 / 5 。
下面求出了10个最小的结果，第一个就是至少捕的鱼数了……
#include<stdio.h>

int main()
{
int n,i,x,flag=1,count=1;
for(n=6;flag&&(count<10);n++)
{
for(x=n,i=1&&flag;i<=5;i++)
if((x-1)%5==0)
x=4*(x-1)/5;
else
flag=0;

if(flag)
{
printf("Total number of fish catched=%d\n",n);
count++;
}
else
flag=1;
}
printf("Total number of fish catched=%d\n",n);
}
将for循环改成这样就会更加有效率……
for(n=6;flag&&(count<10);n+=5)
2.咦？这不是之前那些人丢的鱼么？地上到处都是……
路人甲捡了一桶……他是个有趣的人，他决定分5次出售。第一次出售全部的二分之一加上二分之一条，第二次出售余下的三分之一加上三分之一条，第三次出售余下的四分之一加上四分之一条，第四次出售余下的五分之一加上五分之一条，最后卖出余下的11条…… 嘿，这家伙到底捡了多少条鱼呀？
（题目都源自网络，我将其归并到一起，希望更加有乐趣……）
假设第J次鱼的总数为X，则第J次留下的条数为：
X - (x + 1)/(J + 1)
这个式子怎么来的呢？
第J次先出售全部的（J+1）分之一，再卖掉（J+1）分之一条，将这个加一起，最后被X减掉即可。
#include<stdio.h>
#include<stdbool.h>

int main()
{
// i为鱼的初始条数，j为出售次数，x为剩余条数，n控制循环结束
int i,j,x;
bool mark=true;
for(i=23;n;i+=2)
{
for(j=1,x=i;j<=4&&x>=11;j++)
if((x+1)%(j+1)==0) // 执行4次出售操作
x-=(x+1)/(j+1);
else
{
x=0; // 剩余条数为0，则开始下一次循环
break;
}
if(j==5&&x==11) // 若第四次余下11条则结束
{
printf("There are %d fishes at first.\n",i);
mark=false; // 循环结束
}
}
}
3.还记得前面的5个渔夫吗？最后拿鱼的三个人发现了自己明显比一开始拿的人多，于是它们就离开了船队，自己去打鱼了…… 他们随船带了21只箩筐，当返航时，发现有7筐装满了鱼、7筐装了半筐鱼、7筐是空的。他们互相承诺过这次一定要平分的，可是他们没有东西来称量，却又不像读者一样会编程…… 你能帮帮他们吗？
显然每个人应该分到7个箩筐，共有3.5筐鱼。采用一个3*3的数组a来表示三个人分到的东西。其中每个人对应数组a的一行，数组的第0列放分到的鱼的整筐数，数组的第1列放分到的半筐数，数组的第2列放分到的空筐数。由题目可以推出：  。数组的每行或每列的元素之和都为7；  。对数组的行来说，满筐数加半筐数=3.5；  。每个人所得的满筐数不能超过3筐；  。每个人都必须至少有1 个半筐，且半筐数一定为奇数  对于找到的某种分鱼方案，三个人谁拿哪一份都是相同的，为了避免出现重复的分配方案，可以规定：第二个人的满筐数等于第一个人的满筐数；第二个人的半筐数大于等于第一个人的半筐数。
#include<stdio.h>

int a[3][3],count;

int main()
{
// i，j分别为数组的行和列，m为半筐，n为整筐，flag为判断循环是否结束
int i,j,k,m,n,flag;
printf("It exists possible distribtion plans:\n");
for(i=0;i<=3;i++) /*试探第一个人满筐a[0][0]的值，满筐数不能>3*/
{
a[0][0]=i;
for(j=i;j<=7-i&&j<=3;j++) /*试探第二个人满筐a[1][0]的值，满筐数不能>3*/
{
a[1][0]=j;
if((a[2][0]=7-j-a[0][0])>3)
continue; /*第三个人满筐数不能>3*/
if(a[2][0]<a[1][0])
break; /*要求后一个人分的满筐数>=前一个人，以排除重复情况*/
for(k=1;k<=5;k+=2) /*试探半筐a[0][1]的值，半筐数为奇数*/
{
a[0][1]=k;
for(m=1;m<7-k;m+=2) /*试探 半筐a[1][1]的值，半筐数为奇数*/
{
a[1][1]=m;
a[2][1]=7-k-m;
for(flag=1,n=0;flag&&n<3;n++)
/*判断每个人分到的鱼是 3.5筐，flag为满足题意的标记变量*/
if(a[n][0]+a[n][1]<7&&a[n][0]*2+a[n][1]==7)
a[n][2]=7-a[n][0]-a[n][1]; /*计算应得到的空筐数量*/
else flag=0; /*不符合题意则置标记为0*/
if(flag)
{
for(n=0;n<3;n++)
printf(" fisher %c: %d %d %d\n",'A'+n,a[n][0],a[n][1],a[n][2]);
}
}
}
}
}
}

这的场景的核心在于他们不必去调整鱼筐中的鱼，只需要对鱼筐本身操作即可……挺方便的。
于是，这三个渔夫就像所有的小学课文中所描述的那样快乐地回家了……

欢迎大家点击左上角的“关注”或右上角的“收藏”方便以后阅读。

为使本文得到斧正和提问，转载请注明出处：  http://blog.csdn.net/nomasp
展开全文
• 本文是关于项目管理中，软件项目开发团队组员跨项目组兼职案例分析。
        按照现代项目管理的观点，项目团队是指“项目的中心管理小组，由一群人集合而成并被看作是一个组，他们共同承担项目目标的责任，兼职或者全职地向项目经理进行汇报”。
项目团队的特征有：
（1）项目团队具有一定的目的
项目团队的使命就是完成某项特定的任务，实现项目的既定目标，满足客户的需求。此外项目利益相关者的需求具有多样性的特征，因此项目团队的目标也具有多元性。
（2）项目团队是临时组织
项目团队有明确的生命周期，随着项目的产生而产生，项目任务的完成而结束，即可解散。它是一种临时性的组织。
（3）项目经理是项目团队的领导
（4）项目团队强调合作精神
（5）项目团队成员的增减具有灵活性
（6）项目团队建设是项目成功的组织保障
软件项目开发团队通常构成有：需求人员、设计人员、编码人员、测试人员。

案例一：十多年前，大概是2002年时，我曾经参加"供电营业数据集中系统"（以下简称YX2000）项目，做为重点项目，公司抽调各个部门人员，与北京某公司联合组建项目组集中开发。我负责线损子系统开发，同时也是公司软件开发部经理，并负责IC卡表综合管理信息系统项目（注：收尾阶段）。但是，在此YX2000项目组内，软件开发部人员不归我管。
按此项目制管理模式，其他部门经理，也有副总，对此有些意见，也有骨干人员不配合情况。
而我还是尽职尽责，小心翼翼的完成我份内工作，不便多说一句话。同时，我还要兼顾我所负责的项目，以及跟踪部门所属的其他项目，例如电能表全生命周期管理系统项目。
经过三个多月半封闭式开发，项目暂停了。转年，项目转到我所在部门，并于当年夏天上线。
在此项目开发过程中，我就是典型兼职开发人员，说实在的真的比较难做。在人力资源管理X理论和Y理论中，我属于典型Y理论情况。因此，项目开发过程还是算顺利的，组员虽然有怨言，但合作精神还是值得称赞的。
成功的经验在于：
（1）兼职人员周期短（三个多月）；
（2）总经理做的工作比较到位，与参与项目的兼职人员单独谈话，要求以重点项目为优先，其他兼职任务协商处理，并禁止带有职能身份参与项目；
（3）兼职人员多是公司骨干，多属于Y理论类型人员，工作积极主动，有自我调节和自我监督能力。

问题也存在，我所理解到的地方有：
（1）由于是骨干人员兼职情况多，势必影响工作的投入，设计开发效果、质量与预期有差距，客观上是人力资源不足；
（2）由于系统建设采用全新技术平台，中间件为Bea Tuxdeo和Weblogic，开发语言以C++为主，与兼职人员技术方向不太一致，技术掌握达不到预期；
（3）由于必须依赖外部北京某公司，内部兼职人员人盯人传承技术、指导业务，影响进度。

案例二：是非软件行业的团队案例。在某会计师事务所中，有这样的团队，黑龙江省首家新三板上市公司就是她们做审计的，现已经做成两家，也是她们所里仅有两家，团队中组员兼职不同审计项目也是家常便饭，其团队及兼职特点如下：
（1）团队相对稳定；
（2）同时承接多个审计项目，其审计底稿、合并报表，有自己的成型的方法和技术；
（3）组员兼职方式是分较长时间片专注某个审计项目，而且是成规模人员去做，有较强的连续性、持续性。
这个非软件行业的案例，能否启示我们，我们应该有个稳定的开发团队，以团队去承接项目，承接多个项目，而且我们可以专注某个方向和某个平台技术呢？

案例三：是我当前刚刚组建1个月的项目开发团队，目前兼职人员比例为67%，很棘手，工作推进非常费劲，我必须投入较大的精力解决兼职人员过多所带来的问题，什么问题？
（1）技术平台、架构不同，无法深入投入项目工作中；
（2）团队不稳定，目标不明确，为什么这么说？
“兼职人员用空闲时间参加你这个项目”，而不是加入项目组，换句话说将违背共同目标的原则；
（3）兼职人员投入不可控。
针对上述问题，解决方案如下：
（1）改变计划，明天就开始Cordys平台技术培训，先形成共同的技术氛围；
（2）加快采购合作伙伴人员，降低兼职人员比例；
（3）明天就开始估算、计划兼职人员投入工作量和投入时间计划，并在下周工作计划中体现。
要知道问题解决的情况，请关注后续的博客。
由于时间仓促，不足之处及笔误，欢迎反馈。

参考：
智库.百科  项目团队


展开全文
• 行四边形具有对边相等、对角相等、对角线互相平分等性质，解决某些几何题时，若能根据平行四边形的判定，巧妙地构造出平行四边形，就会化难为易、化繁为简，证明过程简捷。现举例说明。策略1：利用平行线构造平行...
• 小组赛，每个小组有5支队伍，互相之间打单循环赛，胜一场3分，平一场1分，输一场不得分，小组前三名出线。平分抽签。问一个队最少拿多少分就有理论上的出线希望 解：首先假设某一队得分0分，那么证明这个队伍输了...
• 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 C-平分游戏链接：https://www.nowcoder.com/acm/contest/90/C来源：牛客网题目描述转眼间又过了一年，又有一届的师兄师姐要毕业了。有些师兄师姐就去了景驰科技实习...
• 定理和判定都可以求的根据定理来就是:两组对边分别平行根据判定来:a一组对边平行且相等b对角线互相平分c对角相等d两组对边分别相等 2 1,两组对边分别平行2，两组对边分别相等3，一组对边平行且相等4，对角线互相...
•  用类似的方法，我们能证明一个更强的命题：对任意一个凸多边形，总能用两条互相垂直的直线把它的面积分成四等份。利用前面的结论，我们能找到一条直线l1，它把整个凸多边形分成上下相等的两份；类似地，我们能找到...
• 初中三年数学几何公式、定理梳理，今天分享给大家，家长可以为孩子转发，让孩子的几何学习更方便些。1.过两点有且只有一条直线2.两点之间线段最短3....如果两条直线都和第三条直线平行，这两条直线也互相平行9....
• 46平行四边形判定定理1 两组对角分别相等的四边形是平行四边形 47平行四边形判定定理2 两组对边分别相等的四边形是平行四边形 48平行四边形判定定理3 对角线互相平分的四边形是平行四边形 49平行四边形判定定理4 一...
• ④平行四边形的对角线互相平分。 菱形：①一组邻边相等的平行四边形是菱形 ②领心的四条边相等，两条对角线互相垂直平分，每一组对角线平分一组对角。 ③判定条件：定义/对角线互相垂直的平行四边形/四条边都相等的...
• ​→→→数学大师：shuxueds1一元一次方程△=b2-4ac当△>0时，一元二次方程有2个不相等的实数根；当△=0时，一元二次方程有2个相同的实数根；...④平行四边形的对角线互相平分。菱 形 ①一组邻边相等...
• 初中三年数学几何公式、定理梳理，今天整理给大家，家长可以为孩子收藏，让孩子的几何学习更方便些。1.过两点有且只有一条直线2.两点之间线段最短3....如果两条直线都和第三条直线平行，这两条直线也互相平行9....
• 53平行四边形性质定理2 平行四边形的对边相等 54推论 夹在两条平行线间的平行线段相等 55平行四边形性质定理3 平行四边形的对角线互相平分 56平行四边形判定定理1 两组对角分别相等的四边形是平行四边形 57平行...
• 垂直平分线垂直平分的一定是线段，不能是射线或直线，这根据射线和直线可以无限延长有关，再看后面的，垂直平分线是一条直线，所以在画垂直平分线的时候，确定了2点后(关于画法，后面会讲)一定要把线段穿出2点。...
• 垂直平分线垂直平分的一定是线段，不能是射线或直线，这根据射线和直线可以无限延长有关，再看后面的，垂直平分线是一条直线，所以在画垂直平分线的时候，确定了2点后（关于画法，后面会讲）一定要把线段穿出2点。...
• 本人新手小白，研一渣渣一名，信息与通信...这是我学习的第一个程序在matlab下可以运行，转载自百度经验，如有不妥之处请大家见谅，这是一个简单线性分类学习机（利用了平分最近点法）matlab实现https://jingyan....
• 对角线互相平分4?AB.邻角互补5? 2.平行四边形的判定 DCOAB . 矩形的性质3. 1;具有平行四边形的所有通性?CDCD? ?ABCD因为四边形是矩形;四个角都是直角2?O3对角线相等?ABAB 是轴对称图形它有两条对称轴 (4) 矩形的判定...
• 我前段时间写了一个TXT与EXCEL为什么要互相转换的功能，可能有人会问，这样的功能有什么作用？是的，这小功能在软件开发上有很大的作用的。txt文本是没有格式的，但是excel文档是有格式的，将没有格式的东西转换为...
• 垂直平分线垂直平分的一定是线段，不能是射线或直线，这根据射线和直线可以无限延长有关，再看后面的，垂直平分线是一条直线，所以在画垂直平分线的时候，确定了2点后,一定要把线段穿出2点。 垂直平分线定理： 性质...
• 对角线互相平分的四边形是平行2.有三个角是直角的四边形是矩形四边形是菱形（九）正方形正方形的四个角都是直角，四条边都相等,正方形的两条对角线相等,（八）菱形1.一组邻边相等的平行四边形是菱形。2.四边都相等的...
• 试说明PQ与MN互相平分 证明 四边形ABCD是平行四边形 AB=DC,ABCD MN分别是ABCD的中点 DN=CN=DC,AM=BM=AB DNBMDN=BM 四边形DMBN是平行四边形 PMNQ 同理PNMQ 四边形PNQM为平行四边形 PQ与MN互相平分 2如图在?...

...