[ create a new paste ] login | about

Link: http://codepad.org/5T5nIWOC    [ raw code | output | fork ]

C, pasted on May 5:
/* ĐỀ BÀI:Nhập vào 1 số nguyên dương n,kiểm tra xem số đó có phải là số Amstrong hay không ? 218.cpp */

/* Định nghĩa:Số Amstrong là số mà từng chữ số của nó mũ theo số lượng các chữ số rồi cộng lại = chính số ban đầu =?số Amstrong. vd:số 153 có 3 chữ số và 153=1^3+5^3+3^3 => 153 là số Amstrong . */
/* 

Tác giả: Nguyễn Việt Nam Sơn
Trung tâm đào tạo tin học - Thiết kế phần mềm - Sơn Đẹp Trai: www.SonDepTrai.com

Nguồn source code này Tôi viết vào năm 2012 lúc mới bắt đầu học lập trình C/C++ nên một số cách sẽ không được tối ưu - Bạn chỉ nên dùng trên tinh thần tham khảo thôi nhé.
Mong giúp đỡ được Bạn trên con đường Học Lập Trình.
TẤT CẢ VÌ SỰ THÀNH CÔNG CỦA BẠN

*/
#include<stdio.h>
#include<conio.h>
#include<math.h>

void xulydulieu(int &n)
{
		double pow(double x,double y);
		do{
			printf("Nhap vao so nguyen duong n(n>=0):n=");
			scanf("%d",&n);
			if(n<0)
				printf("So ban nhap vao khong hop le!Xin vui long nhap lai!\n");
			else
				break;
		}while(n<0);
		if(n>=0&&n<=9)
		{
			int v=pow(n,1);
			if(v==n)
				printf("\nSo %d la so Amstrong",n);
			else
				printf("\nSo %d khong phai la so Amstrong",n);
		}
		if(n>=10&&n<=99)
		{
			int a=n/10;
			int b=n%10;
			int w=pow(a,2)+pow(b,2);
			if(w==n)
				printf("\nSo %d la so Amstrong",n);
			else
				printf("\nSo %d khong phai la so Amstrong",n);
		}
		if(n>=100&&n<=999)
		{
			int c=n%10;
			int d=n/10;
			int e=d/10;
			int f=d%10;
			int x=pow(e,3)+pow(f,3)+pow(c,3);
			if(x==n)
				printf("\nSo %d la so Amstrong",n);
			else
				printf("\nSo %d khong phai la so Amstrong",n);
		}
		if(n>=1000&&n<=9999)
		{
			int g=n%10;
			int h=n/10;
			int i=h%10;
			int j=h/10;
			int k=j%10;
			int l=j/10;
			int y=pow(l,4)+pow(k,4)+pow(i,4)+pow(g,4);
			if(y==n)
				printf("\nSo %d la so Amstrong",n);
			else
				printf("\nSo %d khong phai la so Amstrong",n);
		}
		if(n>=10000&&n<=99999)
		{
			int m=n%10;
			int o=n/10;
			int p=o%10;
			int q=o/10;
			int r=q%10;
			int s=q/10;
			int t=s%10;
			int u=s/10;
			int z=pow(u,5)+pow(t,5)+pow(r,5)+pow(p,5)+pow(m,5);
			if(z==n)
				printf("\nSo %d la so Amstrong",n);
			else
				printf("\nSo %d khong phai la so Amstrong",n);
		}
		if(n>=100000&&n<=999999)
		{
			int ab=n%10;
			int bc=n/10;
			int cd=bc%10;
			int de=bc/10;
			int ef=de%10;
			int fg=de/10;
			int gh=fg%10;
			int hi=fg/10;
			int ij=hi%10;
			int jk=hi/10;
			int xyz=pow(jk,6)+pow(ij,6)+pow(gh,6)+pow(ef,6)+pow(cd,6)+pow(ab,6);
			if(xyz==n)
				printf("\nSo %d la so Amstrong",n);
			else
				printf("\nSo %d khong phai la so Amstrong",n);
		}
}

void main()
{
	int n,tieptuc;
	quaylai:xulydulieu(n);
	printf("\nBan co muon tiep tuc chay chuong trinh khong ? Neu co bam phim C,nguoc lai bam bat ky 1 phim nao khac de ket thuc\n");
	tieptuc=getch();
	if(tieptuc=='c'||tieptuc=='C')
		goto quaylai;
}


Output:
1
2
3
4
Line 17: error: conio.h: No such file or directory
Line 18: error: expected ';', ',' or ')' before '&' token
In function 'main':
Line 110: warning: return type of 'main' is not 'int'


Create a new paste based on this one


Comments: