热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

我怎么样识破罗永浩的(锤子手机)业绩做假地?!--用C#与数据挖掘

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

//教 罗永浩的工程师,如何在业绩--销量(预售量)上面做假(才能不被群众识破)。 换个说法是:从算法(和数据挖掘)角度讲,怎样的业绩(销量)才是正常的……而怎样的数据形态,就是在业绩上做假…… 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; &#43;&#43;i) //循环画坐标
{
if (0 == (i % 50) ) {
Point pt001x = new Point(100 &#43; 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 &#43;800, 100&#43;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; &#43;&#43;i)
{
if (0 == (i % 20))
{
Point pt001x = new Point(100-30 , endy - (100 &#43;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 &#43; 0, endy - (trueY &#43; 100));
Point pt2 = pt1;
int trueXlast = 0;
int trueYlast = 0;
int gz = 2;// 5;// 10;
for (int i = 0; i <799; i&#43;=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 &#43;= gz;
pt2 = new Point(100&#43;trueXlast, endy - trueY - 100);
g.DrawLine(pnBlack, pt1, pt2); //从 ptt1上次点, 画到 上次的 x点不变,y轴点 变化(蜡烛图 画蜡烛)
//ptt2 = new Point(100 &#43; trueX , endy - trueY - 100);
}
else { pt2 = new Point(100&#43;trueXlast, endy - trueY - 100);

}
pt3 = new Point(100 &#43; 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 &#43;100&#43;100&#43; 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 &#43; 0, endy - (trueY &#43; 100));
pt2 = pt1;
for (int i = 0; i <799; i &#43;= 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 &#43;= gz;
pt2 = new Point(100 &#43; trueXlast, endy - trueY - 100);
g.DrawLine(pnR, pt1, pt2); //从 ptt1上次点, 画到 上次的 x点不变,y轴点 变化(蜡烛图 画蜡烛)

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

}
pt3 = new Point(100 &#43; 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 &#43; 0, endy - (trueY &#43; 100));
pt2 = pt1;
for (int i = 0; i <799; i &#43;= 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 &#43;= 3* gz;
pt2 = new Point(100 &#43; trueXlast, endy - trueY - 100);
g.DrawLine(pnR, pt1, pt2); //从 ptt1上次点, 画到 上次的 x点不变,y轴点 变化(蜡烛图 画蜡烛)

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

}
pt3 = new Point(100 &#43; 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 &#43; 0, endy - (trueY &#43; 100));
pt2 = pt1;
for (int i = 0; i <799; i &#43;= 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 &#43;= buyy01 * gz;

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

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

}
pt3 = new Point(100 &#43; 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



推荐阅读
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
  • 深度学习与神经网络——邱锡鹏
    深度学习与神经网络——邱锡鹏-一、绪论人工智能的一个子领域神经网络:一种以(人工))神经元为基本单元的模型深度学习:一类机器学习问题,主要解决贡献度分配问题知识结构:路线图:顶 ... [详细]
  • 分享篇:第十届“泰迪杯”数据挖掘挑战赛农田害虫图像识别(特等奖)一
    1.1赛题背景昆虫的种类浩如烟海,农田常见的昆虫是人工生态系统的重要组成部分。分辨益虫和害虫,保留益虫,消灭害虫,对于减轻害 ... [详细]
  • bat大牛带你深度剖析android 十大开源框架_请收好!5大领域,21个必知的机器学习开源工具...
    全文共3744字,预计学习时长7分钟本文将介绍21个你可能没使用过的机器学习开源工具。每个开源工具都为数据科学家处理数据库提供了不同角度。本文将重点介绍五种机器学习的 ... [详细]
  • 大数据学习入门难,给初学者支招 ... [详细]
  • 数据可视化技术的应用,行业优秀案例分享
    ​数据可视化并不是什么新型技术,二十世纪50年代电子计算机图形学的初期,就可以利用软件建立出了第一批图形图表。伴随着近几年来大数据备受关注, ... [详细]
  • sqlserver触发器写法_技术书籍荐读不可错过的SQL Server数据库书单来袭!
    朱熹读书之法,在循序渐进,熟读而精思。2019年转眼就要过去了,这一年,你读了哪些书,得到了哪些收获ÿ ... [详细]
  • 产教融合,共塑未来”,CIE 2018 中国 IT 教育博鳌论坛盛大落幕
    2018年11月10-11日,为期两天的“2018中国IT教育博鳌论坛”落下帷幕。2018年11月10-11日,为推动中国IT人才引进与培养࿰ ... [详细]
  • 必备核心算法神经网络通俗讲解
    深度学习传统算法VS人工智能算法传统算法:都是人为去计算人工智能算法:部分人为需要做的事情交由机器去做【把更多的问题简单化】IT的发展比较高端的就是A ... [详细]
  • 搞定问题描述的5W2H法是什么
    作者:拿破仑的DO君来源:数据氧气数据氧气的第27篇原创,预计阅读6min作为职场人士,我们在做分析以及工作时,常常在想如何快速解决问题。可能会忽略一点,解决问题中基础很重要,是对 ... [详细]
  • Spark面试题汇总大全
    1RDD简介RDD是Spark最基本也是最根本的数据抽象,它具备像MapReduce等数据流模型的容错性,并且允许开发人员在大型集群上执行基于内存的计 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
author-avatar
545229628_efb16a
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有