1 条题解

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

    C :

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

    C++ :

    #include  <bits/stdc++.h>
    using namespace std;
    int a[100000];
    int main(){
    int n,k=0;
    cin>>n;
    for(int i=2;n!=1;){
    	if(n%i==0){
    		a[k]=i;
    		k++;
    		n/=i; 
    	}
    	else{
    		i++;
    	}
    } 
    cout<<a[0];
    for(int i=1;i<k;i++){
    	cout<<" "<<a[i];
    }
    return 0;
    }
    
    

    Pascal :

    var n,k,i:longint;
    begin
             readln(n);
             k:=n;
             while k>1 do
                 for i:=2 to n do
                     if k mod i=0 then 
                     begin
                         write(i,' ');
                         k:=k div i;
                         break;
                     end;
    end.
    
    

    Java :

    import java.util.Scanner;
    
    public class Main{
    	public static void main(String[] args){
    		Scanner sc=new Scanner(System.in);
    		 int n=sc.nextInt();  
    		  for(int i=2;i<=n;i++){
    		   while(n!=i){
    			    if(n%i==0){ 
    			     System.out.print(i+" ");
    			     n=n/i;
    			    }
    			    else{
    			     break;
    			    }  
    		   	}
    		 }
    		  System.out.print(n);
    	}
    }
    

    Python :

    n =  int(input());
    i = 2;
    while n != 1 :
        if n % i == 0:
            print(i,end=' ');
            n = n // i;
        else:
            i += 1;
    
    • 1

    信息

    ID
    229
    时间
    1000ms
    内存
    256MiB
    难度
    9
    标签
    递交数
    18
    已通过
    4
    上传者