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
  • 相关阅读:
    关于Date相关函数在火狐Firefox和谷歌Chrome下的不同
    一键部署 LNMP 建站环境
    Python 返回值、方法和函数的区别
    Python中万物皆对象?的理解
    Python 实用小工具 练习(2)
    Chrome浏览器F12开发者工具使用教程博客汇总
    觅风易语言[21-24、30]
    觅风易语言[1-10]
    觅风易语言[11-20]
    Python Byte类型(API系列)
  • 原文地址:https://www.cnblogs.com/McJeremy/p/1285413.html
Copyright © 2011-2022 走看看