Informatică, întrebare adresată de chilledzebra, 9 ani în urmă

Se dau 3 numere naturale. Sa se afiseze suma cu acele numere care sunt patrate perfecte! In C++ ,va rog!

Răspunsuri la întrebare

Răspuns de ardyarde
0
#include <iostream>#include <cmath>
using namespace std;
int main()
{   
     float x;
     int a,b,c,s=0;
     cin>>a>>b>>c; 
   if(a!=0)
    x=sqrt(a); 
   if(a/x==x && a!=0) 
    s=s+a;  
   if(b!=0)  
    x=sqrt(b); 
   if(b/x==x && b!=0)  
    s=s+b;  
   if(c!=0)  
    x=sqrt(c);  
   if(c/x==x && c!=0) 
     s=s+c;  
  cout<<s;
Răspuns de AntiEaglesDavids
0
#include <bits/stdc++.h>
using namespace std;

int main()
{
    int a, b, c;

    cin >> a >> b >> c;
    auto pp = [](int x) -> bool { return sqrt(x) == int(sqrt(x)); };
    auto sum = [=](int x) -> int { return pp(x) ? x : 0; };

    cout << sum(a) + sum(b) + sum(c) << '\n';
    return 0;
}



AntiEaglesDavids: trebuie cel putin c++11 ca sa-ti compileze
Alte întrebări interesante