Çözüldü C++ giriş şifresi kodu nasıl yazılır?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

682784

Hectopat
Katılım
16 Ocak 2022
Mesajlar
5.736
Makaleler
6
Çözümler
27
Merhaba, şöyle bir durum var bir sayı girip o sayının küpünü alıyoruz çıkan sayı girilen sayıdan büyük olursa giriş oluyor.
Örneğin, 22 sayısı 2³+ 2³ 16 bu sayı ile giriş yapılmaz. Çünkü 22 > 16.
248 sayısı 2³+ 43³ + 8³ = 584 bu sayi ile giriş yapılabilir.
Çünkü 248 < 584.
Bunun C++ kodu lazım yardımcı olabilir misiniz?
 
Çözüm
Sayının değil, basamaklarının küpünü alıyorsun.

Eşitlik durumunu söylememişsin. Aklıma bu yol geldi benim.
Kod:
#include <iostream>
#include <string>
#include <vector>

int cube(int n) {
    return n * n * n;
}

bool isValid(std::vector<int>& digits, std::string& n) {
    auto sum{ 0 };
    
    for (auto& i : digits)
        sum += i;

    if (std::stoi(n) > sum)
        return false;
    
    return true;
}

void split(std::vector<int>& digits, std::string& n) {
    for (auto& i : n)
        digits.emplace_back(cube(i - '0'));
}

int main() {
    std::vector<int> digits;
    std::string n{ 0 };

    std::cout << "sayi gir: ";
    std::cin >> n;

    split(digits, n);
    std::cout << isValid(digits, n) << std::endl;

    return 0;
}
Sayının değil, basamaklarının küpünü alıyorsun.

Eşitlik durumunu söylememişsin. Aklıma bu yol geldi benim.
Kod:
#include <iostream>
#include <string>
#include <vector>

int cube(int n) {
    return n * n * n;
}

bool isValid(std::vector<int>& digits, std::string& n) {
    auto sum{ 0 };
    
    for (auto& i : digits)
        sum += i;

    if (std::stoi(n) > sum)
        return false;
    
    return true;
}

void split(std::vector<int>& digits, std::string& n) {
    for (auto& i : n)
        digits.emplace_back(cube(i - '0'));
}

int main() {
    std::vector<int> digits;
    std::string n{ 0 };

    std::cout << "sayi gir: ";
    std::cin >> n;

    split(digits, n);
    std::cout << isValid(digits, n) << std::endl;

    return 0;
}
 
Çözüm
Teşekkürler
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…