登录  /  注册
我怎么样识破罗永浩的(锤子手机)业绩做假地?!--用C#与数据挖掘
php中文网
发布: 2016-06-07 16:06:33
原创
929人浏览过

//教 罗永浩的工程师,如何在业绩--销量(预售量)上面做假(才能不被群众识破)。 换个说法是:从算法(和数据挖掘)角度讲,怎样的业绩(销量)才是正常的……而怎样的数据形态,就是在业绩上做假…… using System; using System.Collections.Generic; us

//教 罗永浩的工程师,如何在业绩--销量(预售量)上面做假(才能不被群众识破)。

换个说法是:从算法(和数据挖掘)角度讲,怎样的业绩(销量)才是正常的……而怎样的数据形态,就是在业绩上做假……


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WinFA1LuoYongHao02
{//
public partial class Form1 : Form
{//
public Form1()
{
InitializeComponent();
}

//


protected override void OnPaint(PaintEventArgs e)
{//protected override void OnPaint(PaintEventArgs e
Graphics g = e.Graphics;
this.Width = 1224;// 1024;// 600; // 800;
this.Height = 700; // 800; //1024; // 800;

Pen pnBlue = new Pen(Color.Blue);
Pen pnG = new Pen(Color.Green);
Pen pnBlack = new Pen(Color.Black);
Pen pnR = new Pen(Color.Red);
int starx = 0;
int starxy = 0;
int endx = 1100;
int endy = 600;

int highY = 700;
//画 x轴
Point pt01x = new Point(100, endy-100);
Point pt02x = new Point(endx, endy-100);
g.DrawLine(pnBlue, pt01x, pt02x);

Font font01 = new Font("宋体", 10f);
Brush brush01 = Brushes.Blue;
for (int i = 0; i < 1100; ++i) //循环画坐标
{
if (0 == (i % 50) ) {
Point pt001x = new Point(100 + i, endy - 100);
string istr = i.ToString();
g.DrawString(istr, font01, brush01, pt001x);
} //if11
}//for11

string str1 = "X坐标为时间轴";
Font font = new Font("宋体", 30f);
Brush brush = Brushes.Red;
PointF point = new PointF(100 +800, 100+400);
//横着写还是竖着写呢?
System.Drawing.StringFormat sf = new System.Drawing.StringFormat();
//还是竖着写吧
sf.FormatFlags = StringFormatFlags.DirectionVertical;
g.DrawString(str1, font, brush, point); //, sf);


//画 y轴
Point pt11y = new Point(100, 100);
Point pt12y = new Point(100, endy-100);
g.DrawLine(pnBlue, pt11y, pt12y);

font01 = new Font("宋体", 10f);
brush01 = Brushes.Blue;
for (int i = 0; i < 900; ++i)
{
if (0 == (i % 20))
{
Point pt001x = new Point(100-30 , endy - (100 +i) );
string istr = i.ToString();
g.DrawString(istr, font01, brush01, pt001x);
} //if11
}//for11


str1 = "y轴-业绩(销量)";
font = new Font("宋体", 30f);
brush = Brushes.Red;
point = new PointF(100, 100);
//横着写还是竖着写呢?
sf = new System.Drawing.StringFormat();
//还是竖着写吧
sf.FormatFlags = StringFormatFlags.DirectionVertical;

g.DrawString(str1, font, brush, point, sf);


//模拟真实算法;
int trueY = 0;
Point pt1 = new Point(100 + 0, endy - (trueY + 100));
Point pt2 = pt1;
int trueXlast = 0;
int trueYlast = 0;
int gz = 2;// 5;// 10;
for (int i = 0; i < 799; i+=gz)
{
int trueX = i ;
Random rd = new Random(Guid.NewGuid().GetHashCode());
int buyy = rd.Next(0, 10);
Point pt3;
if (buyy > 8) // 8/10的时间用户不买, 2/10的用户买,用随机数模仿 客户购买习惯
{
trueY += gz;
pt2 = new Point(100+trueXlast, endy - trueY - 100);
g.DrawLine(pnBlack, pt1, pt2); //从 ptt1上次点, 画到 上次的 x点不变,y轴点 变化(蜡烛图 画蜡烛)
//ptt2 = new Point(100 + trueX , endy - trueY - 100);
}
else { pt2 = new Point(100+trueXlast, endy - trueY - 100);

}
pt3 = new Point(100 + trueX, endy - trueY - 100);
g.DrawLine(pnBlack, pt2, pt3); //从 上支蜡烛的终点,画到 下支蜡烛的起点

pt1 = pt3;
trueXlast = trueX;
trueYlast = trueY;

}
string str12 = "模拟真实(正常)销售率的销售线";
font = new Font("宋体", 20f);
brush = Brushes.Red;
point = new PointF(trueXlast, trueYlast +100+100+ 150);
//横着写还是竖着写呢?
System.Drawing.StringFormat sf12 = new System.Drawing.StringFormat();
//还是横着写吧
sf.FormatFlags = StringFormatFlags.DirectionVertical;
g.DrawString(str12, font, brush, point); //, sf);



//高销售率算法

trueY = 0;
pt1 = new Point(100 + 0, endy - (trueY + 100));
pt2 = pt1;
for (int i = 0; i < 799; i += gz)
{//for22
int trueX = i ;
Random rd = new Random(Guid.NewGuid().GetHashCode());
int buyy = rd.Next(0, 900);
Point pt3;
if (buyy <300) // 6/9的时间用户不买, 3/9的用户买,用随机数模仿 客户购买习惯
{
trueY += gz;
pt2 = new Point(100 + trueXlast, endy - trueY - 100);
g.DrawLine(pnR, pt1, pt2); //从 ptt1上次点, 画到 上次的 x点不变,y轴点 变化(蜡烛图 画蜡烛)

}
else
{
pt2 = new Point(100 + trueXlast, endy - trueY - 100);

}
pt3 = new Point(100 + trueX, endy - trueY - 100);
g.DrawLine(pnBlack, pt2, pt3); //从 上支蜡烛的终点,画到 下支蜡烛的起点

pt1 = pt3;
trueXlast = trueX;
trueYlast = trueY;

}//for22


str12 = "黑色为模拟正常的高销售率的销售线(业绩)";
font = new Font("宋体", 20f);
brush = Brushes.Red;
point = new PointF(trueXlast-100, trueYlast-100);
//横着写还是竖着写呢?
sf12 = new System.Drawing.StringFormat();
//还是横着写吧
sf.FormatFlags = StringFormatFlags.DirectionVertical;
g.DrawString(str12, font, brush, point); //, sf);

//
//------------------------------------------------------------------------------
//罗永浩算法
trueXlast = 0;
trueYlast = 0;
trueY = 0;
pt1 = new Point(100 + 0, endy - (trueY + 100));
pt2 = pt1;
for (int i = 0; i < 799; i += gz)
{//for22
int trueX = i;
Random rd = new Random(Guid.NewGuid().GetHashCode());
int buyy = rd.Next(0, 900);
Point pt3;
if (buyy < 100) // 8/9的时间用户不买, 1/9的用户买,用随机数模仿 客户购买习惯
{
trueY += 3* gz;
pt2 = new Point(100 + trueXlast, endy - trueY - 100);
g.DrawLine(pnR, pt1, pt2); //从 ptt1上次点, 画到 上次的 x点不变,y轴点 变化(蜡烛图 画蜡烛)

}
else
{
pt2 = new Point(100 + trueXlast, endy - trueY - 100);

}
pt3 = new Point(100 + trueX, endy - trueY - 100);
g.DrawLine(pnG, pt2, pt3); //从 上支蜡烛的终点,画到 下支蜡烛的起点

pt1 = pt3;
trueXlast = trueX;
trueYlast = trueY;

}//for22


str12 = "蓝色为“罗永浩”销售曲线:";
font = new Font("宋体", 20f);
brush = Brushes.Red;
point = new PointF(800, 400-100); //(trueXlast, trueYlast - 100);
//横着写还是竖着写呢?
sf12 = new System.Drawing.StringFormat();
//还是横着写吧
sf.FormatFlags = StringFormatFlags.DirectionVertical;
g.DrawString(str12, font, brush, point); //, sf);
//===========================================================


//------------------------------------------------------------------------------
//改进罗永浩算法!!
trueXlast = 0;
trueYlast = 0;
trueY = 0;
pt1 = new Point(100 + 0, endy - (trueY + 100));
pt2 = pt1;
for (int i = 0; i < 799; i += gz)
{//for22
int trueX = i;
Random rd = new Random(Guid.NewGuid().GetHashCode());
int buyy = rd.Next(0, 900);
Point pt3;
if (buyy < 100) // 8/9的时间用户不买, 1/9的用户买,用随机数模仿 客户购买习惯
{
Random rd01 = new Random(Guid.NewGuid().GetHashCode());
int buyy01 = rd01.Next(1,5);

trueY += buyy01 * gz;

pt2 = new Point(100 + trueXlast, endy - trueY - 100);
g.DrawLine(pnR, pt1, pt2); //从 ptt1上次点, 画到 上次的 x点不变,y轴点 变化(蜡烛图 画蜡烛)

}
else
{
pt2 = new Point(100 + trueXlast, endy - trueY - 100);

}
pt3 = new Point(100 + trueX, endy - trueY - 100);
g.DrawLine(pnBlue, pt2, pt3); //从 上支蜡烛的终点,画到 下支蜡烛的起点

pt1 = pt3;
trueXlast = trueX;
trueYlast = trueY;

}//for22


str12 = "绿色为“罗永浩”(放大3倍)销售曲线:";
font = new Font("宋体", 20f);
brush = Brushes.Red;
point = new PointF(300-100, 400 - 100); //(trueXlast, trueYlast - 100);

sf12 = new System.Drawing.StringFormat();
sf.FormatFlags = StringFormatFlags.DirectionVertical; //横着写
g.DrawString(str12, font, brush, point); //, sf);
//===========================================================
//
} //protected override void OnPaint(PaintEventArgs e
//
}//public partial class Form1 : Form
}//namespace WinFA1LuoYongHao02


来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 技术文章
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2023 //m.sbmmt.com/ All Rights Reserved | 苏州跃动光标网络科技有限公司 | 苏ICP备2020058653号-1

 | 本站CDN由 数掘科技 提供

登录PHP中文网,和优秀的人一起学习!
全站2000+教程免费学