这里学到的东西主要是一个是 return true放的位置,第二个是学会拆解函数

#include<iostream>
#include<bits/stdc++.h>
using  namespace  std;
bool  isprime(int  x)
{
    if(x<2)  return  false;
    for(int i=2;i<=x/i;i++)
    {
        
        if(x%i==0)
            return  false;
    }  
    return  true;
    
    
}
void  setprime(int  x)
{
    
    for(int i=2;i<=x/i;i++)
    {
        
        if(x%i==0)
        {
        while(x%i==0)
            x/=i;
          cout<<i<<' ';
        }
    }
    if(x>1)  
        cout<<x<<' ';
    cout<<endl;
}
int main()
{
    
    int  t;
    cin>>t;
    while(t--)
    {   
    int  x;
    cin>>x;
  if(isprime(x))
  {
      cout<<"isprime";
      cout<<endl;
      cout<<x;
      cout<<endl;
  }
  else
  {
      cout<<"noprime"<<endl;
      setprime(x);
  }

    }
}