zoukankan      html  css  js  c++  java
  • 几个数学知识备忘

    一:阶乘相关
      求N的阶乘的方法 :
           public static Fab(int n)
          {
            if(n==1) return 1;
           return n * Fab(n-1);
       }
          问:1000的阶乘未尾有几个0?
      解: 要产生0,那么分解后的最小因子一定要有2和5,而2个数一定会多于5,那么只需要求出5的个数就可以了。
      那么结果 :1000/5=200,200/5=40,40/5=8,(int)8/5=1
       共有200+40+8+1=249个0。

    输出所有水仙花数
    一个N(N>=3)位数,其值 等于每位N次方之和

     1            for (int i = 100; i <= 999; i++)
     2            {
     3
     4                if (Math.Pow(i / 1003+
     5                        Math.Pow((i / 10- (i / 100* 103+
     6                                Math.Pow(i - i / 10 * 103== i)
     7                {
     8                    System.Console.WriteLine(
     9                        "{0}:[{1}|{2}|{3}]", i, i / 100, (i / 10- (i / 100* 10, i - i / 10 * 10);
    10                }

    11            }



    输出10000以内的完全数
    又称完美数,它是指真因子之和等于自身的自然数

     1            for (int i = 1; i <= 10000; i++)
     2            {
     3                int k = 0;
     4                for (int j = 1; j <= i - 1; j++)
     5                {
     6                    if ((i % j) == 0)
     7                    {
     8                        k += j;
     9                    }

    10                }

    11                if (k == i)
    12                {
    13                    System.Console.WriteLine(i);
    14                }

    15            }




    输出10000以内的相亲数
    两个正整数,X的真因子之和等于Y的真因子之和
     1            for (int i = 1; i <= 10000; i++)
     2            {
     3                int x = i;//X为初值
     4                int y = 0;
     5                for (int j = 1; j <= x - 1; j++)//计算X的真因子
     6                {
     7                    if ((x % j) == 0)
     8                    { y += j; }
     9                }
    //Y=X的真因子之合
    10                if (y == x)//完美数
    11                continue; }
    12                x = 0;
    13                for (int j = 1; j <= y - 1; j++)//计算Y的真因子
    14                {
    15                    if ((y % j) == 0)
    16                    { x += j; }
    17                }
    //X=Y的真因子之合
    18                if (x == i)
    19                {
    20                    System.Console.WriteLine("{0}--{1}", x, y);
    21                }

    22            }

    部分摘录自:http://www.cnblogs.com/shyleoking/articles/635591.html
  • 相关阅读:
    Echart 动态生成series数据
    转换Excel格式
    .NET接收邮件下载邮件附件——openpop.net
    百度Echart 地图
    mobiscroll 日期问题
    jQuery自动完成插件flexselect
    HTML5 video 连续播放视频
    team foundation server 工具的使用
    实现主成分分析与白化
    白化(预处理步骤)【转】
  • 原文地址:https://www.cnblogs.com/McJeremy/p/1285413.html
Copyright © 2011-2022 走看看