Числата от A до B

Да се напише програма, която позволява да се въведат две числа A и B и после отпечатва:

  1.  всички числа от A до B
  2. числата от A до B, които са кратни на X
Публикувано в 11а, 11в с етикети . Постоянна връзка.

8 Responses to Числата от A до B

  1. maleboldjia каза:

    Първа задача:

    #include <cstdlib>
    #include <iostream>
    #include <math.h>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
    	int a,b;
    cout<<"Vavedi dve chisla: ";
    cin>>a>>b;
    if ((a==b)||(abs(a-b)==1)){ //Ако числата са равни, или разликата им е равна на 1,
       cout<<"Nyama chisla ot tozi diapazon.\n"; //то тогава няма да има числа от диапазона им
       system("pause");
       return 0;
    }
    if (a<b){
       cout<<"Chislata ot "<<"("<<a<<" do "<<b<<")"<<" sa: ";
       for(a+=1; a<b; a++) //Да се увеличава първото число с 1,
         cout<<a<<"; "; //докато не стигне стойността на второто
    	 cout<<endl;
    }
    else {
       cout<<"Chislata ot "<<"("<<a<<" do "<<b<<")"<<" sa: ";
       for (a-=1; b<a; a--) //Да се намалява първото число с 1,
    	 cout<<a<<"; "; //докато не стигне стойността на второто
    	 cout<<endl;
    }
    
    	system("pause");
    	return 0;
    }
    
    • Данаил каза:

      Браво, интересно решение – за всички числа от диапазана, но без самите числа. Наистина, не съм указал в условието трябва ли да се включват и A и B, така че решението е напълно валидно.

  2. marant каза:
    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
        int A,B,X;
        cout<<"Vuvedi stoinost na A i B: "<<endl;
        cin>>A>>B;
        for (A; A<=B; A++) cout<<A<<' ';
       cout<<endl<<"Vuvedete kratnoto X:";
       cin>>X;
        for (A=2; A<=B; A*=X) cout<<A<<' ';
        
        
        
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    
    • Данаил каза:

      Мартине, интересно решение на първото подусловие – без допълнителна променлива :-) Нямаш нужда обаче от това A в инициализацията – то така или иначе не прави нищо. По-добре ще е така:

      for (; A<=B; A++) cout<<A<<' ';

      За втория цикъл – тествай го – например за кратните на 5, които са в интервала от 20 до 50…

      • marant каза:
         
        #include <cstdlib>
        #include <iostream>
        
        using namespace std;
        
        int main(int argc, char *argv[])
        {
        
           int B,X;
            cout<<"Vuvedi stoinost na  B: "<<endl;
            cin>>B;
            for (int A=1 ; A<=B; A++) cout<<A<<' ';
           cout<<endl<<"Vuvedete kratnoto X:";
           cin>>X;
             for(int A=20; A<=B; A+=X) cout<<A<<' ';
             
             
             
            
            system("PAUSE");
            return EXIT_SUCCESS;
        }
        
        • Данаил каза:

          Сега вече и първото решение не ти е вярно – не позволяваш да се укаже стойност за А. Макар че си на прав път за второто решение, все още не е коректно – пробвай с интервал (3, 39) да покажеш числата, кратни на 5…

  3. krisizdravi95 каза:
    int main(int argc, char *argv[])
    { int A,B,x;
    cout<<"Vuvedete dve chisla ";
    cin>>A>>B;
    for(int a=A;a<=B;a++) cout<<a<<" ";
    cout<<endl;
    cout<<"Vuvedete chislo, za da vidite koi sa negovite kratni ot intervala ";
    cin>>x;
    for(int b=A; b<=B; b++)  {
        if((b%x)==0)
        cout<<b<<" ";
        else cout<<" ";
    }
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    
    

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