Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <sstream>
- #include <math.h>
- using namespace std;
- bool podzielnosc2 (string liczba)
- {
- return(liczba[liczba.length()-1]%2==0);
- }
- bool podzielnosc3 (string liczba)
- {
- int suma_cyfr=0;
- for(int i=0;i<liczba.length();i++)
- {
- suma_cyfr+=liczba[i]-(int)'0';
- }
- return(suma_cyfr%3==0);
- }
- bool podzielnosc4 (string liczba)
- {
- return(((liczba[liczba.length()-2]-(int)'0')*10+(liczba[liczba.length()-1]-(int)'0'))%4==0);
- }
- bool podzielnosc5 (string liczba)
- {
- return(liczba[liczba.length()-1]=='0' || liczba[liczba.length()-1]=='5');
- }
- bool podzielnosc6 (string liczba)
- {
- return(podzielnosc2(liczba) && podzielnosc3(liczba));
- }
- bool podzielnosc7 (string liczba)
- {
- int mnozona_suma_cyfr=0;
- int x=0;
- int j=0;
- for(int i=liczba.length()-1;i>=0;i--)
- {
- mnozona_suma_cyfr+=((int)liczba[i]-(int)'0')*pow(3,j);
- j++;
- }
- return(mnozona_suma_cyfr%7==0);
- }
- bool podzielnosc8 (string liczba)
- {
- int x;
- x = ((int)liczba[liczba.length()-3]-(int)'0')*100 + ((int)liczba[liczba.length()-2]-(int)'0')*10 + ((int)liczba[liczba.length()-1]-(int)'0');
- return(x%8==0);
- }
- bool podzielnosc9 (string liczba)
- {
- int suma_cyfr=0;
- for(int i=0;i<liczba.length();i++)
- {
- suma_cyfr+=liczba[i]-(int)'0';
- }
- return(suma_cyfr%9==0);
- }
- bool podzielnosc10 (string liczba)
- {
- return(liczba[liczba.length()-1]=='0');
- }
- bool podzielnosc11 (string liczba)
- {
- int suma_parzystych=0;
- int suma_nieparzystych=0;
- int roznica=0;
- for(int i=0;i<liczba.length();i+=2)
- {
- suma_parzystych+=liczba[i]-(int)'0';
- }
- for(int j=1;j<liczba.length();j+=2)
- {
- suma_nieparzystych+=liczba[j]-(int)'0';
- }
- roznica=suma_nieparzystych-suma_parzystych;
- return(roznica%11==0);
- }
- bool podzielnosc12 (string liczba)
- {
- return(podzielnosc3(liczba) && podzielnosc4(liczba));
- }
- bool podzielnosc13 (string liczba)
- {
- int suma=0;
- int n=liczba.size();
- int r[]={1,10,9,12,3,4};
- for(int i=n-1;i>=0;i--)
- {
- suma+=(liczba[i]-'0')*r[(6-((i+1)%6))];
- }
- return (suma%13==0);
- }
- bool podzielnosc14 (string liczba)
- {
- return(podzielnosc2(liczba) && podzielnosc7(liczba));
- }
- bool podzielnosc15 (string liczba)
- {
- return(podzielnosc3(liczba) && podzielnosc5(liczba));
- }
- bool podzielnosc16 (string liczba)
- {
- int x,n;
- n=liczba.length();
- x = ( ((int)liczba[n-4]-(int)'0')*1000 + ((int)liczba[n-3]-(int)'0')*100 + ((int)liczba[n-2]-(int)'0')*10 + ((int)liczba[n-1]-(int)'0'));
- return(x%16==0);
- }
- bool podzielnosc17 (string liczba)
- {
- int suma=0;
- int r[]={1,10,15,14,4,6,9,5,16,7,2,3,13,11,8,12};
- for(int i=liczba.length()-1;i>=0;i--)
- {
- suma+=(liczba[i]-'0')*r[(16-((i+1)%16))];
- }
- return (suma%17==0);
- }
- int main()
- {
- string liczba;
- cin>>liczba;
- cout<<"Podzielnosc przez 2 "<<podzielnosc2(liczba)<<endl;
- cout<<"Podzielnosc przez 3 "<<podzielnosc3(liczba)<<endl;
- cout<<"Podzielnosc przez 4 "<<podzielnosc4(liczba)<<endl;
- cout<<"Podzielnosc przez 5 "<<podzielnosc5(liczba)<<endl;
- cout<<"Podzielnosc przez 6 "<<podzielnosc6(liczba)<<endl;
- cout<<"Podzielnosc przez 7 "<<podzielnosc7(liczba)<<endl;
- cout<<"Podzielnosc przez 8 "<<podzielnosc8(liczba)<<endl;
- cout<<"Podzielnosc przez 9 "<<podzielnosc9(liczba)<<endl;
- cout<<"Podzielnosc przez 10 "<<podzielnosc10(liczba)<<endl;
- cout<<"Podzielnosc przez 11 "<<podzielnosc11(liczba)<<endl;
- cout<<"Podzielnosc przez 12 "<<podzielnosc12(liczba)<<endl;
- cout<<"Podzielnosc przez 13 "<<podzielnosc13(liczba)<<endl;
- cout<<"Podzielnosc przez 14 "<<podzielnosc14(liczba)<<endl;
- cout<<"Podzielnosc przez 15 "<<podzielnosc15(liczba)<<endl;
- cout<<"Podzielnosc przez 16 "<<podzielnosc16(liczba)<<endl;
- cout<<"Podzielnosc przez 17 "<<podzielnosc17(liczba)<<endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement