Quantcast
Channel: Forum Pasja Informatyki - Najnowsze pytania bez odpowiedzi
Viewing all articles
Browse latest Browse all 21942

SPOJ BFN1 - Zabawne Dodawanie Piotrusia - kompletna pustka

$
0
0


#include <iostream>

using namespace std;

int main()
{
int liczba;


cout<<"Podaj liczbe: ";
cin>>liczba;

//
int a=liczba+liczba;
int revA=0, resztaA;
while(a!=0)
{
resztaA=a%10;
revA=revA*10+resztaA;
a /= 10;
}
if(a=true)
{
a=liczba;
int a2=a+revA;
int sumaA=a+a2;
cout<<sumaA;
}
//


return 0;
}


 Witam, od jakiś 3 tygodni złapała mnie zajawka na programowanie i z pomocą Pana Mirka wydawało mi się, że coś tam łapię aż do momentu gdy wszedłem na SPOJa i zacząłem próbować rozwiązywać zadania.. Kompletnie nie wiem jak do nich się zabrać.. Pustka.. aż w końcu powiedziałem, że nie poddam się i wybrałem jedno i męczę się już drugi dzień, nawet podczas snu śniło mi się rozwiązywanie tego problemu :D Łopatologicznie krok po kroku zrobiłem 1 liczbę natomiast nie mam zrobionego obliczenia ile "DZIAŁAŃ" się wykonało. Nie mówiąc o pozostałych liczbach.. Możecie jakąś wskazówkę mi podsunąć w jaką stronę się poruszyć? http://pl.spoj.com/problems/BFN1/ - link do zadania 

EDIT.

Po lekkim odpoczynku przysiadłem znowu.. Udało się napisać funkcję dla reverse i napisałem kod który te liczby pododaje i wychodzi dobrze.. ale nie mam jeszcze funkcji ktora by zliczała która to "SUMA".. aczkolwiek nie wiem również jak zrobić aby to było robione automatycznie np: liczba wczytana z cin + liczba odwrocona z cin = suma, i teraz zeby automatycznie dodało sume + sume odwrocona az do momentu otrzymania palindroma.. domyślam się , że tu for trzeba użyć, ale jak rozpisać funkcję która by to obliczała?

 

#include <iostream>
using namespace std;
int a, a2, a3;
int b, b2, b3, b4;
int c;
int odwroconaLiczba(int rev);

int main()
{
    cin>>a;
    cin>>b;
    cin>>c;


    if(a>0)
    {
        a2=a+a;
        a3=odwroconaLiczba(a2)+a2;

        cout<<a3<<" 2"<<endl;
    }

    if(b>0)
    {
        b2=b+odwroconaLiczba(b);
        b3=b2+odwroconaLiczba(b2);
        b4=b3+odwroconaLiczba(b3);

        cout<<b4<<" 3"<<endl;
    }

    if(c>0)
    {
        cout<<odwroconaLiczba(c)<<" 0";
    }


    return 0;
}



int odwroconaLiczba(int liczba)
{
    int reszta, rev=0;
    while(liczba!=0)
{

    reszta=liczba%10;
    rev=rev*10+reszta;
    liczba /= 10;
}
    return rev;


}

 


Viewing all articles
Browse latest Browse all 21942