• 几个数学知识备忘


    一:阶乘相关
      求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
  • 相关阅读:
    Spring实战(第4版).pdf
    java-spring基于redis单机版(redisTemplate)实现的分布式锁+redis消息队列,可用于秒杀,定时器,高并发,抢购
    docker(ubuntu)中安装cron运行crontab定时任务
    java8中日期字符串的月日时分秒自动补零
    img垂直居中div
    使用InstallAnywhere7.1制作Java exe程序安装包
    在IDEA中将项目部署到Tomcat的方法及两种模式的区别
    将Java web应用部署到Tomcat 及部署到Tomcat根目录 的三种方式
    MySQL 5.7.19 忘记密码 重置密码 配置文件my.ini示例 服务启动后停止 log配置
    windows 同时启动多个Tomcat 控制台日志(startup.bat)输出到指定文件中
  • 原文地址:https://www.cnblogs.com/McJeremy/p/1285413.html
Copyright © 2020-2023  润新知