30/09/2018, 20:34

Ai giúp xem giúp em bài này với?

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

int main()
{
	int a, b;
	int check;
	int check2;
	do
	{
		printf("
Nhap vao a(a>0):");
		scanf("%d", &a);
		printf("
Nhap vao b(b>0 & b >a):");
		scanf("%d", &b);
		if (a < 0 || b < 0 || b < a)
			printf("
Nhap khong hop le. Chu y lai dieu kien!!!");
	} while (a < 0 || b < 0 || b < a);
	//int sodaonguoc = 0;
	int dem = 0;
	int tongdx = 0;
	int tongcp = 0;
	for (int i = a; i <= b; i++)
	{
		//int check;
		int phu2 = i;
		while (phu2 != 0)
		{
			phu2 /= 10;
			dem++;
			//printf("%d	", dem);
		}
		int phu = i;
		int sodaonguoc = 0;
		while (phu != 0)
		{
			int sodu = phu % 10;
			phu /= 10;
			sodaonguoc = sodaonguoc + (sodu * pow(10.0, dem--));
		}
		sodaonguoc /= 10;
		printf("
So dao nguoc : %d	 So ban dau: %d", sodaonguoc, i);
		if (i == sodaonguoc)
		{
			printf("
%d la so doi xung trong doan tu %d den %d", i, a, b);
			//check2 = 2;
			//printf("
Tong cac so doi xung trong doan tu %d den %d: %d", a, b, tongdx += i++);
		}
		else
			printf("
%d la so khong doi xung trong doan tu %d den %d", i, a, b);

		int phu3 = i;
		if (((double)sqrt(phu3*1.0)) == ((int)sqrt(phu3*1.0)))
		{
			printf("
%d la so chinh phuong trong doan tu %d den %d ", i, a, b);
			//check2 = 3;
			
		}

		else
			printf("
%d khong phai la so chinh phuong trong doan tu %d den %d", i, a, b);

		int phu4 = i;
		//int check;
		if (i < 2)
			check == 0;
		else if (i == 2)
			check == 1;
		else
		{
			for (int j = 2; j < i; j++)
			{
				if (phu4 % j == 0)
					check = 0;
				else
					check == 1;
			}
			if (check == 1)
				printf("
%d la so nguyen to trong doan tu %d den %d", i, a, b);
			if (check == 0)
				printf("
%d khong la so nguyen to trong doan tu %d den %d", i, a, b);
		}

		/*if (check2 == 2)
			printf("
Tong cac so doi xung trong doan tu %d den %d: %d", a, b, tongdx += i);
		if (check2 == 3)
			printf("
Tong cac so chinh phuong trong doan tu %d den %d: %d", a, b, tongcp += i);*/
	}

	/*if (check == 2)
		printf("
Tong cac so doi xung trong doan tu %d den %d: %d", a, b, tongdx += i);
*/
	getch();
	return 0;
}
Quốc Huy viết 22:44 ngày 30/09/2018

số đối xứng và số chính phương thì mình ra bình thường. Còn số nguyên tố không hiểu sao số nào nó cũng ra số nguyên tố. Mình chỉ mới liệt kê ra thôi chứ chưa đếm.
Đề bài đây ạ

Ngô Doãn Tuấn viết 22:46 ngày 30/09/2018

Sao bạn đã đánh dấu Solved rồi
Mình cứ tưởng có người giải quyết vấn đề rồi
Về vấn đề số nguyên tố
Thì bạn nên chia ra một hàm kiểm tra số nguyên tố để giải quyết bài toán gọn hơn và dễ kiểm soát hơn

Quốc Huy viết 22:37 ngày 30/09/2018

vậy để mình tách ra làm riêng thử

viết 22:41 ngày 30/09/2018

Tách ra thành 3 hàm cho dễ nhìn, gộp hết vào main nhìn hãi quá :

int SNT(int n);
int CP(int n);
int Doixung(int n);

Chỗ SNT xét thêm 1 điều kiện chia hết cho 2 rồi for chỉ chạy số lẻ cho gọn.

Quốc Huy viết 22:41 ngày 30/09/2018

Bài mình nhìn hãi thật

Quốc Huy viết 22:44 ngày 30/09/2018

Cám ơn mọi người nha Mình làm được rồi

Bài liên quan
0