Liczby palindromiczne podzielne przez k
Kod był wyświetlany 2230 razy.
    /*

Name: Liczby palindromiczne podzielne przez k
                Copyright: GPL GNU
                Date:19-01-2009 20:36:42
                Description: Napisz program poszukujący liczb palindromicznych
                podzielnych przez k,należących do przedziału <a,b>. Użytkownik
                podaje wartość k oraz granice przedziału (a i b, przy czym:
                0 < a < b < 1 000 000).Palindromem nazywamy wyraz, który wygląda
                jednakowo gdy czytamy go odlewej do prawej i od prawej
                do lewej strony, np. 121 jest liczbą palindromiczną, podobnie
                99, 3553, 19791 itp. Nie tylko liczby mogą być palindromami:
                sformułowanie ‘madam, i’m Adam’ jest nim również.
*/

#include<iostream>
using namespace std;

bool palindr(int liczba)
{
    if(liczba<10)
        return false;
    else
    {
        int tab[10];
        int i=0,ile=0;
        do
        {
            tab[i++]=liczba%10;
            ile++;
        }
        while((liczba/=10)>0);
        bool spr=true;
        int l=ile-1;
        for(int i=0;i<ile-1;i++,l--)
            if(tab[i]!=tab[l])
            {
                spr=false;
                break;
            }
        return spr;
    }
}

int main()
{
    int a,b,k,i;
    cout<<"\n\n\tProgram poszukujacy liczb palindromicznych podzielnych przez k"
        <<"\n\tnalezacych do przedzialu <a,b>"<<endl;
    cout<<"\n\tPodaj zakres <a,b>:";
    cout<<"\n\ta: ";
    cin>>a;
    cout<<"\n\tb: ";
    cin>>b;
    cout<<"\n\tPodaj dzielnik: ";
    cin>>k;
    if(a>1000000 || a<=0)
    {
        cout<<"\n\tBlad danych!\n\n\t";
        system("pause");
        return 0;
    }
    if(b>1000000 || b<=0)
    {
        cout<<"\n\tBlad danych!\n\n\t";
        system("pause");
        return 0;
    }
    if(k==0)
    {
        cout<<"\n\tBlad danych!\n\n\t";
        system("pause");
        return 0;
    }
    cout<<"\n\n\tZnalezione liczby: \n\n\t";
    for(i=a;i<b;++i)
    {
        if(i%k==0)
            if(palindr(i))
                cout<<i<<"\t";
    }
    cout<<"\n\n";
    system("pause");
    return 0;
}
    
Pobierz plik tekstowy
Administrator WJL
PHP&SQL coded by NOVA-IT