zoukankan      html  css  js  c++  java
  • 51Nod1240:莫比乌斯函数

    https://www.51nod.com/Challenge/Problem.html#!#problemId=1240

    莫比乌斯函数,由德国数学家和天文学家莫比乌斯提出。梅滕斯(Mertens)首先使用μ(n)(miu(n))作为莫比乌斯函数的记号。(据说,高斯(Gauss)比莫比乌斯早三十年就曾考虑过这个函数)。

    具体定义如下:

    如果一个数包含平方因子,那么miu(n) = 0。例如:miu(4), miu(12), miu(18) = 0。

    如果一个数不包含平方因子,并且有k个不同的质因子,那么miu(n) = (-1)^k。例如:miu(2), miu(3), miu(30) = -1,miu(1), miu(6), miu(10) = 1。

    给出一个数n, 计算miu(n)。

    输入

    输入包括一个数n,(2 <= n <= 10^9)

    输出

    输出miu(n)。

    输入样例

    5

    输出样例

    -1
    #include<stdio.h>
    int num;
    int miu(int n)
    {
    	int i;
    	for(i=2;i*i<=n;i++)
    	{
    		if(n%i==0)
    		{
    			n=n/i;
    	    	num++;
    			if(n%i==0)
    				return 0;
    		}
    	}
    	num++;
    	if(num%2==0)
    		return 1;
    	return -1;
    }
    int main()
    {
        int n;
        while(scanf("%d",&n)!=EOF)
    	{
       		num=0;
       		printf("%d
    ",miu(n));    
        }
        return 0; 
    }
  • 相关阅读:
    UI控件
    iOS 上架
    UISwitch 开关
    UISlider 的属性
    SQL SERVER 触发器
    sql server数据库操作
    二叉堆实现优先队列
    散列表
    AVL树
    C++基础-02
  • 原文地址:https://www.cnblogs.com/zyq1758043090/p/10056590.html
Copyright © 2011-2022 走看看