全部评论 1

  • #include<bits/stdc++.h>
    bool Allnum(long long n){
        long long temp=n;
        if(pow(floor(sqrt(n)),2)==temp) return true;
        else return false;
    }
    int main(){
        long long n;
        scanf("%lld",&n);
        for(long long i=1;i<=n;i++) if(Allnum(i)) printf("%lld ",i);
        return 0;
    }
    

    2024-06-24 来自 广东

    0
    • 不用这么麻烦,把循环体改为

      for(long long i = 1; i * i <= n; i++) printf("%lld ", i * i);
      

      这样就能保证每次输出都是完全平方数,省去大量时间

      2024-06-24 来自 广东

      0
首页