Công cụ bảo vệ mã nguồn .NET mạnh nhất, không thể unpack, miễn phí cho các khách hàng đầu tiên đăng ký.
Trang 3 trên tổng số 4 Đầu tiênĐầu tiên 1234 Cuối cùngCuối cùng
Từ 21 tới 30 trên tổng số 35 kết quả

Đề tài: Lập trình C | Những chương trình C Cơ bản

  1. #21
    No Avatar
    buianhtuanhn Khách

    Mặc định Lập trình C | Những chương trình C Cơ bản

    mình đã cm được là chỉ có duy nhất số 6 và cặ 3 số 1,2,3 là thỏa mãn yêu cầu
    ta có a+b+c= abc -> a(bc-1)=b+c -> a= (b+c)/(bc-1)
    do a là số nguyên nên b+c chia hết cho bc-1 coi b là biến các bạn thực hiện phép chia đa thức thì yên cầu phải là (c^2-1)/c =0 <-> c= + hay -1 -> co 1 căp số duy nhất thôi (1,2,3)
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

  2. #22
    Ngày gia nhập
    07 2006
    Bài viết
    166

    Trích dẫn Nguyên bản được gửi bởi buianhtuanhn
    mình đã cm được là chỉ có duy nhất số 6 và cặ 3 số 1,2,3 là thỏa mãn yêu cầu
    ta có a+b+c= abc -> a(bc-1)=b+c -> a= (b+c)/(bc-1)
    do a là số nguyên nên b+c chia hết cho bc-1 coi b là biến các bạn thực hiện phép chia đa thức thì yên cầu phải là (c^2-1)/c =0 <-> c= + hay -1 -> co 1 căp số duy nhất thôi (1,2,3)
    Bạn xem lại phần in đậm đi

  3. #23
    No Avatar
    buianhtuanhn Khách

    (c^2-1)/c là phần dư trong phép chia đa thức (b+c) cho (bc-1) do phải chia hết nên (c^2-1)=0 -> c=+-1 ta chỉ lấy c>0 nên c=1 vậy ta có a=(b+1)/(b-1)
    a= 1+ 2/(b-1) vậy b=2 hoặc b=3
    với b=2 -> a= 3
    với b=3 -> a= 2
    ta chỉ có thể có cặp 3 số (1,2,3) là thỏa mãn

  4. #24
    Ngày gia nhập
    09 2006
    Bài viết
    12

    Mặc định xóa khoảng trắng thừa trong chuỗi

    xóa khoảng trắng thừa trong chuỗi.

    Code:
    void remove_sp(char *s)
    {
        if (*s == '\0') return;
    
        if ((s[0] == 32) && (s[1] == 32))
            remove_sp(strcpy(s,s+1));
        else
            remove_sp(s+1);
    }

  5. #25
    Ngày gia nhập
    12 2006
    Nơi ở
    Me Tri Ha - Ha Noi
    Bài viết
    19

    bài toán: tìm số tự nhiên n thỏa: n=a+b+c & n=a*b*c, với a,b,c là 3 số nguyên dương phân biệt.

    Đây chính là một bài toán số học quen thuộc, mình xin trinh bày một cách giải như sau (theo kiểu số học):

    Code:
    Ta tìm a,b,c thỏa: a+b+c=abc (a,b,c nguyen dương và khac nhau)
    chia hai vế cho abc ta được:  S= 1/(ab) + 1/(bc) + 1/(ca) = 1   ( 1 )
    đặt    p=ab, q=bc, r=ca      với  p,q,r > 1 nguyên dương phân biệt
    ( 1 ) trở thành:       S= 1/p + 1/q + 1/r =1    (2)
    do vai trò bình đẳng nên ta có thể giả sử:   p>q>r
    như vậy từ (2) ta có:    1 = S < 3/r
    hay:               r < 3
    từ điều kiện ta có ngay:  r = 2
           r=2     từ (2)  ta có:     S' = 1/p + 1/q = 1/2
    do p>q nên      1/2 = S' < 2/q
    hay:              q < 4
    do q > 1 và q != r  nên q = 3
    và cuối cùng:   p = 6
    như vậy ta có:          ab = 6, bc = 3, ca = 2
    từ đây dễ dàng có:     a = 2, b= 3, c= 1
    như vậy n là duy nhất n = 6

    cũng có thể giải bài toán bằng phép chia đa thức như bạn buianhtuanhn đã làm.

  6. #26
    Ngày gia nhập
    01 2007
    Nơi ở
    Somewhere I belong
    Bài viết
    168

    Mặc định [C++]In Lịch

    PHP Code:
    #include <iostream.h>
    #include <conio.h>
    #include <stdlib.h>
    int songay(int,int);
    bool namnhuan(int nam);
    void InLich(int,int);
    int ThuDauTien(int,int);
    void main()
    {
        
    int nam;
       
    char chon;
       do
       {
           do
           {
                
    cout<<"Nhap vao nam(> 1700): ";
              
    cin>>nam;
           }while(
    nam 1700);
           for(
    int i 1;<= 12;i++)
           {
               
    cout<<"Thang "<<i<<endl;
              
    InLich(i,nam);
              
    cout<<endl;
           }
          
    cout<<"\nBan co muon tiep tuc khong(y/n): ";
          
    cin>>chon;
          
    system("cls");
       }while(
    chon == 'y');
       
    cout<<"Thanh Nam cam on ban da su dung chuong trinh {an Enter de thoat)";
       
    getch();
    }
    int songay(int thang,int nam)
    {
         switch(
    thang)
       {
           case 
    1:
           case 
    3:
          case 
    5:
          case 
    7:
          case 
    8:
          case 
    10:
          case 
    12:
              return 
    31;
          case 
    2:
              if(
    namnhuan(nam))
                 return 
    29;
             else
                 return 
    28;
          case 
    4:
          case 
    6:
          case 
    9:
          case 
    11:
              return 
    30;
       }
       return 
    0;
    }
    bool namnhuan(int nam)
    {
       return ((
    nam == && nam 100 != 0)||(nam 400 == 0));
    }
    void InLich(int thang,int nam)
    {
        
    int ngayd ThuDauTien(thang,nam);
       if(
    ngayd == 0)
       
    ngayd 7;
         
    int i;
       
    int sn songay(thang,nam);
       
    cout<<"\nMon\tTUE\tWED\tTHU\tFRI\tSAT\tSun\n";
       for(
    1;<= ngayd 1;i++)
       
    cout<<"\t";
       for(
    1;<= sn;i++)
       {
             
    cout<<i<<"\t";
          if((
    ngayd 1) % == 0)
          
    cout<<endl;
       }
    }        

    long int funct1 (int nam,int thang)                                    
    {                                                                       
          
    long int result;                                                
       if ( 
    thang <= )                                                    
       
    nam -= 1;   //                                                       
       
    result nam;                                                        
       return (
    result);                                                     
    }                                                                       
                                                                            
    long int funct2 (int thang)                                             
    {                                                                       
        
    long int result;                                                
        if ( 
    thang <= )                                               
        
    result thang 13;                                            
        else                                                            
        
    result thang 1;                                             
        return(
    result);                                                 
    }                                                                       
                                                                            
    long int day_count (int thangint nam)                                 
    {                                                                       
        
    long int number;                                                     
        
    number 1461 *  funct1(nam,thang) / 153 funct2(thang) / 1;
        return (
    number);                                                     
    }                                                                      

    int ThuDauTien(int thang,int nam)                                      
    {                                                                       
        
    long int number_of_days1;                                          
       
    int day_of_week;                                                   
       
    number_of_days1 day_count (thangnam);                            
       
    day_of_week = (number_of_days1 621049) % 7;                                                                         
        return 
    day_of_week;                                             

    Đã được chỉnh sửa lần cuối bởi iamvtn : 06-05-2007 lúc 10:47 PM.

  7. #27
    Ngày gia nhập
    01 2007
    Bài viết
    412

    Mình mới tham gia 4rum, cũng xin được đóng góp 1 bài tập cơ bản, đây là bài tập để hiểu về cách sử dụng stack, cụ thể đây là bài tập kiểm tra dấu ngoặc đúng. Ví dụ: (5*8) + (4*7) có đủ 2 cái ngoặc mở và 2 cái ngoặc đóng,suy ra đây là chuỗi ngoặc đúng, hoặc (6*6)+(7*12 --> đây là chuỗi ngoặc sai. Mình post code cho các bạn tham khảo nhé, ai biết cách giải khác thì post lên cho mọi người nè

    Code:
    #include<stdio.h>
    #include<conio.h>
    #include<stdlib.h>
    #include<string.h>
    #define max 100
    int stack[max],Top=-1;
    void push(int stack[],int &Top,int X)
    {
    	if (Top==max-1)
    		{
    			puts("Stack day");
    			exit(3);
    		}
    	else
    		{
    			Top++;
    			stack[Top]=X;
    		}
    }
    int pop(int stack[],int &Top)
    {
    	int tam;
    	if (Top==-1) return Top;
    	else
    		{
    			tam=stack[Top];
    			Top--;
    			return tam;
    		}
    }
    void DauNgoac(char s[],int n)
    {
    	int i;
    	for(i=0;i<n;i++)
    		{
    			if (s[i]=='(')  push(stack,Top,1);
    			if (s[i]==')'&&pop(stack,Top)==-1)
    				{
    					Top=-2;
    					break;
    				}
    
    		}
    	if (Top==-1) printf("\nDung");
    	else printf("\nSai");
    }
    void main()
    {
    	clrscr();
    	char s[max];
    	int n=
    	printf("Nhap chuoi:");
    	gets(s);
    	n=strlen(s);
    	DauNgoac(s,n);
    	getch();
    }

  8. #28
    Ngày gia nhập
    04 2007
    Bài viết
    7

    --------------------------------------------------------------------------------

    PHP Code:
    #include <iostream.h>
    #include <conio.h>
    #include <stdlib.h>
    int songay(int,int);
    bool namnhuan(int nam);
    void InLich(int,int);
    int ThuDauTien(int,int);
    void main()
    {
    int nam;
    char chon;
    do
    {
    do
    {
    cout<<"Nhap vao nam: ";
    cin>>nam;
    }while(
    nam 0);
    for(
    int i 1;<= 12;i++)
    {
    cout<<"Thang "<<i<<endl;
    InLich(i,nam);
    cout<<endl;
    }
    cout<<"\nBan co muon tiep tuc khong(y/n): ";
    cin>>chon;
    system("cls");
    }while(
    chon == 'y');
    cout<<"Thanh Nam cam on ban da su dung chuong trinh {an Enter de thoat)";
    getch();
    }
    int songay(int thang,int nam)
    {
    switch(
    thang)
    {
    case 
    1:
    case 
    3:
    case 
    5:
    case 
    7:
    case 
    8:
    case 
    10:
    case 
    12:
    return 
    31;
    case 
    2:
    if(
    namnhuan(nam))
    return 
    29;
    else
    return 
    28;
    case 
    4:
    case 
    6:
    case 
    9:
    case 
    11:
    return 
    30;
    }
    return 
    0;
    }
    bool namnhuan(int nam)
    {
    return ((
    nam == && nam 100 != 0)||(nam 400 == 0));
    }
    void InLich(int thang,int nam)
    {
    int ngayd ThuDauTien(thang,nam);
    if(
    ngayd == 0)
    ngayd 7;
    int i;
    int sn songay(thang,nam);
    cout<<"\nMon\tTUE\tWED\tTHU\tFRI\tSAT\tSun\n";
    for(
    1;<= ngayd 1;i++)
    cout<<"\t";
    for(
    1;<= sn;i++)
    {
    cout<<i<<"\t";
    if((
    ngayd 1) % == 0)
    cout<<endl;
    }


    long int funct1 (int nam,int thang

    long int result
    if ( 
    thang <= 
    nam -= 1// 
    result nam
    return (
    result); 


    long int funct2 (int thang

    long int result
    if ( 
    thang <= 
    result thang 13
    else 
    result thang 1
    return(
    result); 


    long int day_count (int thangint nam

    long int number
    number 1461 funct1(nam,thang) / 153 funct2(thang) / 1;
    return (
    number); 


    int ThuDauTien(int thang,int nam

    long int number_of_days1
    int day_of_week
    number_of_days1 day_count (thangnam); 
    day_of_week = (number_of_days1 621049) % 7
    return 
    day_of_week



    bai này chạy dc nhưng sao khi in ra lại quá dài ko xem được tháng mấy tháng đầu bạn iamvn àh phải làm sao day
    Đã được chỉnh sửa lần cuối bởi iamvtn : 20-11-2007 lúc 03:35 PM.

  9. #29
    Ngày gia nhập
    04 2007
    Bài viết
    1

    Mặc định Bai toan tam con hau ne ba kon!

    PHP Code:
    #include <conio.h>
    #include<stdio.h>
    void setqueen(int a,int b);
    void removequeen(int a,int b);
    void trycol(int a);
    void print();
        
    int a[8];     /* a : array[1..8]  of boolean */
        
    int b[15];    /* b : array[2..16] of boolean      la 2 cai duong cheo         */
        
    int c[15];    /* c : array[-7..7] of boolean         do pa con                   */
        
    int x[8];

    void main()
    {
        
    int i;
        for (
    i=0<=7i++)
     
    a[i] = 1;
        for (
    i=0<=15i++)
     
    b[i] = 1;
        for (
    i=0<=14i++)
     
    c[i] = 1;
        
    trycol(0);


    void trycol(j)
        
    int j;
    {
        
    int m;
        
    int safe;
        
    = -1;
        while (
    m++ < 7)
           {
           
    safe = (a[m] ==1) && (b[j] == 1) && (c[7] ==1);
           if (
    safe)
                {
         
    setqueen(mj);
         
    x[j] = 1;
         if (
    7)
      
    trycol(1);
         else
      print();
         
    removequeen(mj);
         }
              }


    void setqueen(mj)
        
    int m;
        
    int j;
    {
        
    a[m] = 0;
        
    b[j] = 0;
        
    c[7] = 0;

    void removequeen(mj)
        
    int m;
        
    int j;
    {
        
    a[m] = 1;
        
    b[j] = 1;
        
    c[7] = 1;

    void print()
    {
        
    int k;
        for (
    k=0k<=7k++)
     {
     
    printf("%d"x[k]);
     }
        
    printf("\n");


    Zay do pa kon!The la xong bai tap ve nha rui do!

  10. #30
    Ngày gia nhập
    06 2007
    Bài viết
    2

    em là beginner,có 2 bài
    1.nhập vào 1 năm,xuất ra năm đó là thế kỉ bao nhiêu
    2.giải ph bậc 2
    tk máy bác trước
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn