30/09/2018, 18:52

Giúp em lỗi code C tin đại cương ạ; Kiểm tra cặp số hứa hôn

#include<conio.h>
#include<stdio.h>
int sohuahon(int n1, int n2)
{
	int sum1=0,sum2=0;
	int i=1,j=1;
	for(i;i<n1/2;i++)
	{
		if(n1%i==0) sum1+=i;
	}
	for(j;j<n2/2;j++)
	{
		if(n2%j==0) sum2+=j;
	}
	printf("
%d
",sum1);
	printf("%d
",sum2);
	if((sum1-1==n2)&&(sum2-1==n1)) return 1;
	else return 0;
}
int main()
{
	int M;
	printf("Nhap vao M
");
	do
	{
		scanf("%d",&M);
		if((M<=1)||(M>=2000)) printf("Nhap M loi, NHAP LAI!
");
		
	}
	while((M<=1)||(M>=2000));
	int N;
	printf("Nhap vao N
");
	do
	{
		scanf("%d",&N);
		if((N<=1)||(N>=2000)) printf("Nhap N loi, NHAP LAI!
");
	}
	while((N<=1)||(N>=2000));
	
	if(sohuahon(M,N)) printf("Hai so ban da nhap la cap so hua hon!");
	else printf("Hai so ban da nhap khong phai la cap so hua hon!");
}

Em gõ code này để check cặp số hứa hôn, nhưng dùng hàm ở số hứa hôn trả về tổng ước thì lại ra giá trị sai ạ, anh chị giúp em sửa với ạ. Em cảm ơn!

Đây là hình với 2 số hứa hôn ạ, Giá trị tổng ước đầu tiên cho ra 52 là sai ạ, em không hiểu ở chỗ này @@

bphvcg viết 21:06 ngày 30/09/2018

số hứa hôn là số như thế nào v bạn, cho mình xin cái đề

iieiieiie- viết 20:57 ngày 30/09/2018

Tổng ước của số này (trừ ước là chính nó nhé) = Số còn lại + 1, và ngược lại.

iieiieiie- viết 21:02 ngày 30/09/2018
genk.vn – 29 Jun 13

Sự thú vị của những con số trong toán học ít ai biết tới

Những con số, được đặt những cái tên thú vị, theo những quy luật thú vị

X viết 21:03 ngày 30/09/2018

2 For cho chạy đến <= n/2 thử xem.

iieiieiie- viết 20:55 ngày 30/09/2018

@@ wow … chỉ một dấu … đa tạ ạ!

Bài liên quan
0