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;
}