Дали числото съдържа дадена цифра

Да се напише рекурсивна функция, която установява, дали в записа на естественото число n се съдържа цифрата k.

Публикувано в 12в с етикети . Постоянна връзка.

8 коментара по Дали числото съдържа дадена цифра

  1. kaloyan каза:
    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    bool ima_li(int ch, int k){
    	if(ch>0){
    		if(ch%10 == k) return true;
    		ima_li(ch/10, k);
    	} else return false;
    }
    
    int main(int argc, char** argv) {
    	cout<<ima_li(25642, 2)<<endl;	
    	return 0;
    }
  2. Violeta каза:
     #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    bool  imali(int chislo, int cifra)
    {
       if (chislo==0 ) 
         return  false ;
       int cifra1 =chislo%10;
       if (cifra1==cifra) 
         return true;
       else return imali (chislo/10,cifra);
    } 
    
    
    int main(int argc, char** argv) {
    	int chislo ,cifra;
    cout<< "Vavedete chisloto koeto iskate " ;
    cin>> chislo;
    cout<< "Sega vavedete cifrata koqto iskate da namerite ";
    cin>> cifra;
    if (imali (chislo,cifra))
    cout<< "Cifrata se sadarja v chisloto"<<endl;
    else cout<< "Ne se sadarja"<<endl;
    	return 0;
    } 
  3. sup3rEva каза:
    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    bool cifra(int n, int k) {
    	if (n>0){
    //отделяме последната цифра от числото
    	 int c1=n%10;
    //проверяваме дали цифрата, която търсим е равна на c1, ако е равна, извежда true	 
    	 if (c1==k) return true;
    //иначе отделяме последната цифра от числото и проверяваме дали цифрата е равна на k	 
    	 else return cifra(n/10, k)	;
    
    	}
    //когато се отделят всички цифри от числото и цифрата, която търсим не е намерена извежда false
    		else return false;
    	
    }
    int main(int argc, char** argv) {
    	int n,k;
    	cout<<"Vyvedete chislo i cifra: "<<endl;
    	cin>>n>>k;
        if (cifra(n,k))
    	cout<<"Cifrata se sydyrja v chisloto!\n";
    	else cout<<"Cifrata ne se sydyrja v chisloto.\n";
    
    	return 0;
    }
  4. TVD каза:

    int main() {
    int number;
    int numberToBeChecked;
    number=123456789;
    int num=number;
    int i=0;
    numberToBeChecked=2;
    bool flag = false;
    for (num=number; 0<num; num/=10){
    cout<<num%10<<" ";
    if (num%10 == numberToBeChecked){
    flag = true;
    break;
    }
    }
    if (flag==true){
    cout<<"Yes!";
    } else {
    cout<<"No!";
    }
    return 0;
    }

Вашият коментар