Słuchajcie mam napisać program, który policzy nam dowolną potęgę o podstawie 13 i po otrzymaniu wyniku sprawdzi nam ile razy w tej liczbie pojawiła się liczba 1. Do momentu potęgi zrobiłem bez problemu, później poległem. Ma ktoś jakieś pomysły? program w C++
0
0
int main() {
int p;
int w;
cin >> p >> w;
int wynik = pow(p,w);
return 0;
}
i to by było na tyle
3
Tak można:
#include <iostream>
#include <string>
int main()
{
int liczba = 1234981331;
std::string lanuch = std::to_string(liczba);
int licznik = 0;
for (int i = 0; i < lanuch.length(); i++)
if (lanuch[i] == '1') licznik++;
std::cout << licznik << std::endl;
}
Działa dla liczb całkowitych. Dla double czy float wynik zostanie zaokrąglony przy konwersji na stringa z uwagi na nieskończoną okresowość ułamka binarnego po konwersji z liczby dziesiętnej. Nie ma dla liczb zmiennoprzecinkowych idealnego rozwiązania i (prawie) zawsze dane zostaną utracone.
3
#include <iostream>
#include <string>
using namespace std;
int main() {
int num = 123432456;
string str = to_string(num);
int digits[10] = {0};
for(char c : str)
digits[c-'0'] += 1;
for(size_t i = 0; i < 10; ++i)
cout << i << ": " << digits[i] << endl;
return 0;
}
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main() {
int num = 1234324561;
string str = to_string(num);
cout << count(begin(str), end(str), '1');
return 0;
}
3
int a = 123456931;
string s = to_string(a);
cout << count(begin(s), end(s), '1') << endl;
0
wielkie dzięki za przykłady!
1
Twój program nie spełnia warunków zadania.
który policzy nam dowolną potęgę o podstawie 13