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

Să se afişeze toate numerele până la 100 care au patru divizori.

Răspunsuri la întrebare

Răspuns de TheCoder
3
#include<iostream>
using namespace std;
int main ()
{
int d;
cout<<" numerele din [0,100] care au patru divizori sunt : " ;
for(int i=1;i<=100;i++ ){
d=0;
for(int j=1;j<=i;j++)
if(i%j == 0)
d++;
if(d==4)
cout<<i<<" ";
}
}
Răspuns de stassahul
3
#include <bits/stdc++.h>

using namespace std;

unsigned long Count(unsigned long a);

int main()
{

    for(int i=1;i<=100;i++)
        if(Count(i)==4)
            cout << i << " ";

    return 0;

}

unsigned long Count(unsigned long a)
{
   unsigned long count = 1, k = 0, i;
   if (a == 1 || a == 2)
      return a;
   while ((a & 1) == 0)
   {
      k++;
      a >>= 1;
   }
   if (a == 1)
      return k + 1;
   else
      count = k + 1;
   for(i = 3; i*i <= a; i += 2)
   {
      k = 0;
      while(a % i == 0)
      {
         k++;
         a /= i;
      }
      count *= (k + 1);
   }
   if (a > 1)
      count <<= 1;
   return count;
}
Alte întrebări interesante