1 条题解

  • 0
    @ 2025-10-10 15:45:26

    C :

    #include<stdio.h> 
    
    
    void zhiYinZi(int n){
    	int i=2;
    	while(n != 1){
    		if(n % i == 0){
    			printf("%d\n",i);
    			n = n / i;
    		}else{
    			i++;
    		}
    	}	
    } 
    
    
    int main(){ 
    	int n,i=2;
    	scanf("%d",&n);
    	zhiYinZi(n);
    	return 0;
    } 
    

    C++ :

    #include <iostream>
    #include <iomanip>
    #include <cmath>
    
    using namespace std;
    
    int main(){
    	int n,i,j;
    	cin>>n;
    	 for(i=2;n!=1;i++){
    	 	for(j=1;n%i==0;j++){
    	 		cout<<i<<endl;
    	 		n/=i;
    		 }
    	 }
    }
    

    Pascal :

    Var a:array[1..100] of longint;
        n,i,j,k,p:longint;
    begin
      readln(n);
      k:=n;
      p:=0;
      while k>1 do
       begin
        for i:=2 to n do
        if k mod i=0 then begin inc(p); a[p]:=i; break; end;
        k:=k div i;
       end;
      for i:=1 to p-1 do
       writeln(a[i]);
      writeln(a[p]);
    end.
    
    

    Java :

    import java.util.Scanner;
    
    public class Main {
    
    	public static void main(String[] args) {
    	@SuppressWarnings({ "resource" })
    	Scanner scanner=new Scanner(System.in);
    	int n=scanner.nextInt();
    		  for(int i=2;i<=n;i++){
    		   if(n%i==0){
    		     System.out.println(i);
    		    n=n/i;
    		    i--;
    		   		   }
    		  }
    	}
    }
    
    

    Python :

    # 接收一个整数
    n = int(input())
    # 最小的质数
    i = 2
    # 如果n=1停止循环
    while n != 1:
        # 如果此时i是n的因子,则输出
        if n % i == 0:
            print(i)
            # n变为除以i的商
            n = n // i
        else:
            # 不能整除就自加1
            i += 1
    
    • 1

    信息

    ID
    79
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者