zadania z c++ ..........................................

Zadania Z C class=

Odpowiedź :

1.

#include<bits/stdc++.h>

using namespace std;

int main()

{

int n;

scanf("%d", &n);

for(int i=1;i<=n;++i)

 if(n%i==0)

  printf("%d ", i);

return 0;

}

2.

#include<bits/stdc++.h>

using namespace std;

constexpr int N=512;

bitset<N>pierwsze;

void sito()

{

for(int i=2;i*i<N;++i)

{

 if(!pierwsze[i])

  for(int j=i*i;j<N;j+=i)

  {

   pierwsze[j]=1;

  }

}

}

int main()

{

sito();

for(int i=2;i<N;++i)

{

 if(!pierwsze[i])

  printf("%d\n", i);

}

return 0;

}

3.

#include<bits/stdc++.h>

using namespace std;

int main()

{

int n, k=0;

scanf("%d", &n);

while(n>0)

{

 n>>=1;

 ++k;

}

printf("%d", k);

return 0;

}

4. (zakładam, że napis kończy się pierwszą spacją)

#include<bits/stdc++.h>

using namespace std;

int main()

{

string s;

cin >> s;

for(auto e: s)

{

 if(e<97 || e>122)

 {

  cout << "wystepuja inne znaki niz male litery";

  return 0;

 }

}

cout << "sklada sie tylko z malych liter";

return 0;

}

(wersja, gdy napis kończy się enterem)

#include<bits/stdc++.h>

using namespace std;

int main()

{

string s;

getline(cin,s);

for(auto e: s)

{

 if(e<97 || e>122)

 {

  cout << "wystepuja inne znaki niz male litery";

  return 0;

 }

}

cout << "sklada sie tylko z malych liter";

return 0;

}

5. (zakładam, że zdanie nie ma podwójnych spacji)

#include<bits/stdc++.h>

using namespace std;

int main()

{

int k=0;

string s;

getline(cin,s);

for(auto e: s)

{

 k += e==32 ? 1 : 0;

}

printf("%d", k+1);

return 0;

}