Числата до N

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

  1. числата от 1 до N
  2. сумата на числата от 1 до N
  3. N! (факториел N – това е произведението на числата от 1 до N)
  4. четните двуцифрени числа по-малки от N
Публикувано в 11а, 11в с етикети . Постоянна връзка.

12 Responses to Числата до N

  1. dreanor каза:
    #include <cstdlib>
    #include <iostream>
    #include <iomanip>
    using namespace std;
    
    int main(int argc, char *argv[])
    {
        int n,suma=0,chetni=0;
        double fn=1;
        cout<<"Wuwedi krainoto chislo: ";
        cin>>n;
        cout<<endl;
        for (int i=1;i<=n;i++)
        {
            cout<<setw(4)<<i;
            suma+=i;
            fn*=i;
            if (((i%2)==0)&&(i>=10)&&(i!=n))
            cout<<setw(4)<<i;
            cout<<endl;
        }
        cout<<"Sumata na chislata e "<<suma<<endl;
        cout<<"Faktoriala na chislata e "<<fn<<endl;
         
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    
  2. maleboldjia каза:

    Написал съм втора и трета задача в една програма, ето я и нея:

    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
    int n,i,suma,pr;
    cout<<"Vavedi chislo (n > 1): ";
    cin>>n;
    if (n>1){
       cout<<"Sumata na chislata ot 1 do "<<n<<" e: ";
       cout<<"1";
       suma=0;
    
       for (i=2; i<=n; i++){
         suma+=i;
         cout<<"+"<<i;
    	 }
       cout<<"="<<suma+1<<endl;
       cout<<endl;
       
       cout<<"Proizvedenieto na chislata ot 1 do "<<n<<" e: ";
       cout<<"1";
       pr=1;
       
       for (i=2; i<=n; i++){
    	 pr*=i;
    	 cout<<"*"<<i;
       }
       cout<<"="<<pr<<endl;
       
    }
    else cout<<"Nevalidno chislo."<<endl;
    
        system("pause");
    	return 0;
    }
    
  3. maleboldjia каза:

    Ето я четвърта задача, но съм я направил с числа по-големи от нула:

    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    { 
    	int n,i;
    cout<<"Vavedi polojitelno chislo: ";
    cin>>n;
    if (n<=0) { //Числата трябва да се по-големи от 0
       cout<<"Chisloto ne e polojitelno."<<endl;
       system("pause");
       return 0;
    }
    if (n==3) { //Ако е равно на 3, то единственото честно число по-малко от него ще е 2
       n=2;
       cout<<"Edinstvenoto chetno chislo e: "<<n<<endl;
       system("pause");
       return 0;
    }
    if ((n==2)||(n==1)) { //Ако обаче е равно на 2, то няма да има други числа по-малки от него
       cout<<"Nyama chetni chisla po-malki ot "<<n<<endl;
       system("pause");
       return 0;
    }
       if (n%2==1) { //Ако въведеното число е нечетно, първо го намяламе с едно,
         i=n-1;      //за да стане четно
         cout<<"Chetnite polojitelni chisla sa: ";
         for (i; i>=2; i-=2)//и след това намаляме с по 2,
         cout<<i<<"; ";// за да се отпечатат само четните
         cout<<endl;
       }
       else if (n%2==0) { //Ако въведеното число е четно,
         cout<<"Chetnite polojitelni chisla sa: ";
         for (n-=2; n>=2; n-=2)//просто намаляме с две,
         cout<<n<<"; ";// за да се отпечатат само четните
         cout<<endl;
       }
    
        system("pause");
    	return 0;
    }
    
    • Данаил каза:

      Дарине, виж си пак условието :-) После пробвай самия ти как ще я решиш – да кажем за N=9, за N=26 и накрая за N=105. Като забележиш какво правиш, преправи кода на програмата…

      • maleboldjia каза:

        Не успях много да разбера какво искахте да кажете, но все пак се пробвах по този начин. Докато преправях кода, се сетих за по-оптимизиран начин, но ще го напиша, когато намеря достатъчно време за мислене :D

        #include <cstdlib>
        #include <iostream>
        
        using namespace std;
        
        int main(int argc, char *argv[])
        {
            long n,i;
        cout<<"Vavedi polojitelno chislo: ";
        cin>>n;
        if (n<=0) {
        	cout<<"Chisloto ne e polojitelno."<<endl;
        	system("pause");
        	return 0;
        }
        if (n<10) { //Числото трябва да е многоцифрено
           cout<<"Nyama polojitelni dvucifreni chisla po-malki ot vuvedenoto."<<endl;
           system("pause");
           return 0;
        }
        if (n>99) { //Ако числото е повече от двуцифрено,
        	cout<<"Chetnite polojitelni chisla sa: ";
        	for(n=98;n>=10; n-=2)// ще се изведат всичките четни двуцифрени числа
        	cout<<n<<"; ";
        	system("pause");
        	return 0;
        }
           if (n%2==1) { //Ако въведеното число е нечетно, първо го намяламе с едно,
             i=n-1;     // за да стане четно
             cout<<"Chetnite polojitelni chisla sa: ";
             for (i; i>=10; i-=2)//и след това намаляме с по 2,
             cout<<i<<"; ";// за да се отпечатат само четните
             cout<<endl;
           }
           else if (n%2==0) { //Ако въведеното число е четно,
             cout<<"Chetnite polojitelni chisla sa: ";
             for (n-=2; n>=10; n-=2)//просто намаляме с две,
             cout<<n<<"; ";// за да се отпечатат само четните
             cout<<endl;
           }
        
            system("pause");
            return 0;
        }
        
  4. marant каза:
    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
        int N;
        cout<<"Vuvedi stoinost na N: "<<endl;
        cin>>N;
        for (int i=1; i<=N; i++) cout<<i<<' ';
        int suma=0;
        for (int i=1; i<=N; i++) suma+=i;
        cout<<endl<<"Sumata e: "<<suma<<endl;
        int pro=1;
        for (int i=1; i<=N; i++) pro*=i;
        cout<<endl<<"proizvedenieto e: "<<pro<<endl;
        cout<<endl;
        for (int i=2; i<=N; i*=2) cout<<i<<' ';
        
        
        
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    
  5. maleboldjia каза:

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

    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
    	int n,i;
    cout<<"Vavedi polojitelno chislo: ";
    cin>>n;
    if (n<=0){
       cout<<"Tova ne e polojitelno chislo"<<endl;
       system("pause");
       return 0;
    }
       cout<<"Chislata ot 1 do "<<n<<" sa: ";
    for(i=1; i<=n; i++)
       cout<<i<<"; ";
    
    
    	system("pause");
    	return 0;
    }
    
  6. marant каза:
    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
    
       int N;
        cout<<"Vuvedi stoinost na N: "<<endl;
        cin>>N;
        for (int i=1; i<=N; i++) cout<<i<<' ';
        int suma=0;
        for (int i=1; i<=N; i++) suma+=i;
        cout<<endl<<"Sumata e: "<<suma<<endl;
        int pro=1;
        for (int i=1; i<=N; i++) pro*=i;
        cout<<endl<<"proizvedenieto e: "<<pro<<endl;
        cout<<endl;
        for (int i=10;i<=N; i+=2) cout<<i<<' ';
      
         
        
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    

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