Được gửi bởi
hotbig
Các bạn giúp mình 3 bài đệ quy này với, mình nghĩ hoài cũng ko ra, không hiểu lun! ( t.t đệ quy nha)
1. Tìm tất cả các số lẻ có 4 chữ số bít rằng khi đảo trật tự của các chữ số thì ta thu được một số nguyên tôt cùng nhau với số đã cho?
Về thăm nhà, đợi phone làm luôn
Code:
#include <stdio.h>
#include <conio.h>
#include <iostream>
bool is_ntcn(int a, int b)
{
if (a < 2 || b < 2) return false;
if (a > b) return is_ntcn(b, a);
for (int i = 2; i <= a; i++)
{
if (a%i == 0 && b%i == 0) return false;
}
return true;
}
bool is_valid(int a, int b, int c, int d)
{
if (!(a > 0 && a <= 9) ||
!(b >= 0 && b <= 9) ||
!(c >= 0 && c <= 9) ||
!(d >= 0 && d <= 9))
return false;
int s1 = 100*a + 100*b + 10*c + d;
int s2 = 100*d + 100*c + 10*b + a;
if (is_ntcn(s1, s2) == false) return false;
return true;
}
int main()
{
for (int i1 = 1; i1 <= 9; i1++)
{
for (int i2 = 0; i2 <= 9; i2++)
{
for (int i3 = 0; i3 <= 9; i3++)
{
for (int i4 = 0; i4 <= 9; i4++)
{
if (is_valid(i1, i2, i3, i4))
{
printf("(%d, %d) = 1\n", 1000*i1 + 100*i2 + 10*i3 + i4, 1000*i4 + 100*i3 + 10*i2 + i1);
}
}
}
}
system("pause");
}
return 0;
}
Bookmarks