zoukankan      html  css  js  c++  java
  • 同同的数学题——恼人的同同

    问题 D: 桐桐的数学难题

      今天数学课上,桐桐学习了质数的知识:一个正整数如果只能被1和它本身整除,那么这个整数便是质数。桐桐就想:任意一个正整数是否都能分解成若干个质数相乘的形式呢?输入一个正整数n(2≤n≤109),把它分解成质因子相乘的形式,如果为质数则输出该数本身。如:36=2×2×3×3;19=19。你能帮助桐桐解决这个难题吗?

    输入

    输入一个正整数n(2≤n≤109)

    输出

    把它分解成质因子相乘的形式,如果为质数则输出该数本身,乘数从小到大输出。

    样例输入

    99
    

    样例输出

    99=3*3*11
    

    提示


    c++数学函数的预编译处理:#include<math.h>

    package bluebriage;
    
    import java.util.*;
    
    public class Text{
    	
    	public static void main(String ages[]) {
            Scanner num=new Scanner(System.in);
            long n=num.nextLong(),i;
            System.out.print(n+"=");
            for(i=2;i<=n;i++){
              while(n!=i) {
            	  if(n%i==0) {
            		  System.out.print(i+"*");
            		  n/=i;
            	  }else {
            		  break;
            	  }
              }
    	          if(Prime(n)) {//如果不加这个判断可能超时
    	        	  System.out.println(n);
    	        	  break;
    	          }
             }
        }
    	public static boolean Prime(long i) {
    		if(i==1) {
    			return false;
    		}
    		for(int j=2;j<=Math.sqrt(i);j++) {
    		     if(i%j==0)  return false;
    		}
    		     return true;
    	}
    	
    }
    

      当n为一个很大的素数的时候,我们就要条件判断nnnnnnnnnnnn次,但是,如果在循环判断玩后,我们立刻判断这个n是不是素数,是的话就立刻退出走下一步。

    这也是看了一些大佬总结出来的结论才得知;感谢大佬们。

  • 相关阅读:
    android Animation整理
    js的console总结
    [原创]cocos2d-lua学习笔记(0)-提纲
    【转】js怎么编译成JSC
    【转】PCDuino用python读取GPIO数据
    Mysql数据库大小相关的问题
    oracle with as
    python jar
    investopedia level 2
    warning MSB3391
  • 原文地址:https://www.cnblogs.com/RorinL/p/12494498.html
Copyright © 2011-2022 走看看