public static void main(String[] args){ Scanner sc = new Scanner(System.in); long s = sc.nextLong(); int temp = 2; StringJoiner str= new StringJoiner(" "); while(temp<=s){ if(s%temp==0){ if(temp==s){ str.add(temp+""); break; }else{ str.add(temp+""); s=s/temp; } } else { temp++; } } }这个 是啥问题
#include <stdio.h> #include <string.h> #define N 100 int main() { long i; int j; long n; char over; long devisor[N]; scanf("%ld", &n); j = 0; while(1){ over = 1; for(i=2 ; i<=(n+1)/2 ; i++){ if(n%i == 0){ devisor[j++] = i; n /= i; over = 0; break; } } if(over) break; } for(i=0 ; i<j ; i++){ printf("%ld ", devisor[i]); } printf("%ld \n", n); }
import java.util.Scanner; public class Main { public static void main(String args[]){ Scanner sc=new Scanner(System.in); while(sc.hasNext()){ long a=2; long b=sc.nextLong(); double c=b/a; if(c==1.0000) System.out.print(c); while(c!=1.000000){ if(b%a==0){ System.out.print(a+" "); b=b/a; }else{ a++; } c=b; } } } }
import java.io.BufferedInputStream; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner=new Scanner(new BufferedInputStream(System.in)); while (scanner.hasNext()) { int num=scanner.nextInt(); int i=2; while (num>1) { if (num%i==0) { System.out.print(i+" "); num/=i; i=2; }else { i++; } } } } } //运行时间:24ms //占用内存:276k
#include <bits/stdc++.h> using namespace std; int main(){ long long x; while(scanf("%lld", &x) == 1){ if(x < 2) continue; //bool f = true; for(long long i = 2; i * i <= x; ++i) { while(x % i == 0){ //if(f) f = false; //else putchar(' '); //printf("%lld", i); printf("%lld ", i); x /= i; } } if(x > 1) { //if(f) f = false; //else putchar(' '); //printf("%lld", x); printf("%lld ", x); } puts(""); } return 0; }