Từ 1 tới 7 trên tổng số 7 kết quả

Đề tài: Số hoàn hảo và hoàn thiện

  1. #1
    Ngày gia nhập
    06 2008
    Bài viết
    51

    Mặc định Số hoàn hảo và hoàn thiện

    Các bác cho em hỏi 2 loại này là 1 hay là khác nhau?

  2. #2
    Ngày gia nhập
    11 2008
    Bài viết
    116

    theo tui biết số hoàn thiện và hoàn hảo là giống nhau mà. số hoàn hảo là số có tổng các ước số bằng chính nó. VD như 6 có ước là 1 2 3 tổng 1+2+3=6.

  3. #3
    Ngày gia nhập
    01 2009
    Nơi ở
    Hà Nội
    Bài viết
    205

    Đính chính lại: Tổng tất cả các ước của nó bằng 2 lần nó hoặc tổng tất cả các ước nhỏ hơn nó bằng chính nó.

  4. #4
    Ngày gia nhập
    02 2009
    Bài viết
    18

    số hoàn thiện và số hoàn hảo là một

  5. #5
    Ngày gia nhập
    08 2008
    Nơi ở
    Liên Bang Nga
    Bài viết
    46

    Số hoàn thiện là số có tổng các ước con thực sự của nó bằng chính nó!
    Hoàn hảo hay hoàn thiện gì thì cũng là nó cả mà thôi
    Code:
    /*
    Author : Tran Dinh Thang
    */
    #include <iostream.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    #include <conio.h>
    #include <alloc.h>
    #define N 50000
    int *arr;
    void main()
    {
          clrscr();
          unsigned int i, sum;
          int size, counter=0;
          cout<<"\n\n	   Primer numbers in "<<1<<".."<<N;
          for (i=2; i<N; i++)
          {
    	for(unsigned int j=1;j<i;j++)
    			if(i%j==0){sum += j;size++;}
    	if(sum==i)
    	{       int k=0;counter++;
    		if((arr = (int*)malloc(size))==NULL)
    		{
    			cout<<"Can't get dinamic memory \nProgramm will exit\n";
    			getch();
    			exit(-1);
    		}
    		for(unsigned int j=1;j<i;j++)
    			if(i%j==0){arr[k]=j;k++;}
    
    		cout<<"\n\n"<<i<<" = ";	for(k=0;k<size-1;k++)cout<<arr[k]<<" + ";
    		cout<<arr[size-1]<<"\n";
    	}
    	sum=0;
    	size = 0;
          }
          cout<<"\n\n	Total : "<<counter<<"\n";
          getch();
    }
    Kết quả chạy chương trình tìm được trong khoảng 1..50 000 như sau :
    Code:
    6 =  1 +  2 +  3 
    28 =  1 +  2 +  4 +  7 +  14 
    496 =  1 +  2 +  4 +  8 +  16 +  31 +  62 +  124 +  248
    8128 =  1 +  2 +  4 +  8 +  16 +  32 +  64 +  127 +  254 +  508 +  1016 +  2032 +  4064
    Total :  4
    Chương trình này nó ghi ra file, trông dễ nhìn hơn làm việc trong màn hình màu đen
    Code:
    /*
    Author : Tran Dinh Thang
    */
    #include <iostream.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    #include <conio.h>
    #include <alloc.h>
    #define N 50000
    int *arr;
    FILE *fptr;
    void main()
    {
          clrscr();
          unsigned int i, sum;
          int size, counter=0;
          if((fptr=fopen("output.txt","w"))==NULL)
    	{
    		cout<<"\nFucking your as ... Can't open file for writing";
                    exit(-1);
    	}
          fprintf(fptr,"%s %d %ld","\n\n	   Primer numbers in ",1,N);
    
          for (i=2; i<N; i++)
          {
    	for(unsigned int j=1;j<i;j++)
    			if(i%j==0){sum += j;size++;}
    	if(sum==i)
    	{       int k=0;
    		counter++;
    		fprintf(fptr,"\n\n%d = ",i);
    		if((arr = (int*)malloc(size))==NULL)
    		{
    			cout<<"Can't get dinamic memory \nFucking process\n";
    			getch();
    			exit(-1);
    		}
    		for(unsigned int j=1;j<i;j++)
    			if(i%j==0){arr[k]=j;k++;}
    
    
    		for(k=0;k<size-1;k++){fprintf(fptr," %d + ",arr[k]);}
    
    		fprintf(fptr,"%d",arr[size-1]);
    	}
    	sum=0;
    	size = 0;
          }
          fprintf(fptr,"\n%s :  %d","Total",counter);
          if(fclose(fptr)<0)
    	{
    		cout<<"\nFucking you ... Can't close file";
    		exit(-1);
    	}
    }
    Đã được chỉnh sửa lần cuối bởi langman : 25-03-2009 lúc 03:40 PM.
    Tôi thường thích những cái gì mà tôi không bao giờ có được...

  6. #6
    No Avatar
    satthu Khách

    Mặc định Số hoàn hảo và hoàn thiện

    Dựa vào định nghĩa em viết được code sau để tìm các số hoàn hảo từ 1 đến n.

    Code:
    #include<stdio.h>
    #include<conio.h>
    #include<math.h>
    main ()
    {int i,n,s,j;
     printf("nhap n=");scanf("%d",&n);
     for (i=2;i<=n;i++)
      {s=0;
       for (j=1;j<=i/2;j++)
       if (i%j==0) s=s+j;
       if (s==i) printf("so hoan hao la:%d\n",i);
      }
    getch();
    }

  7. #7
    Ngày gia nhập
    11 2008
    Bài viết
    116

    bạn viết đúng rồi nhưng cách trình bày code hơi kì

Các đề tài tương tự

  1. Giới thiệu WebSite quảng cáo giới thiệu Game , MuOnline , Giao vặt khác
    Gửi bởi phathienhoi.com trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 2
    Bài viết cuối: 27-09-2012, 02:35 PM
  2. Làm từ thiện các bạn ơi
    Gửi bởi RedHatLinux9 trong diễn đàn Giải trí - Thư giãn
    Trả lời: 17
    Bài viết cuối: 12-08-2011, 08:46 PM
  3. website bán hàng trực tuyến, giới thiệu sản phẩm, giới thiệu doanh nghiệp, cá nhân chỉ 1 triệu đồng
    Gửi bởi Alviss trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 1
    Bài viết cuối: 30-05-2011, 05:36 PM

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