Chắc suất Đại học top - Giữ chỗ ngay!! ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.
Ai giải thích chi tiết bài này hộ em vs ah. em cảm ơn
#include<stdio.h>
#include<stdlib.h>
int isEqual(char *a,char *b,int num)
{
for(int i = 0; i<num;++i)
if(a!=b)
return 0;
return 1;
}
// Đôi chiêu
int compare(const void* a,const void* b)
{
return *(char*)a - *(char*)b;
int isValid(long lNumber)
{
char strIn[7],strTmp[7];
sprintf(strIn,"%ld",lNumber);
qsort(strIn,6,1,compare);
for(int i = 2; i<=6; ++i)
{
long temp = lNumber*i;
sprintf(strTmp,"%ld",temp);
qsort(strTmp,6,1,compare);
if(!isEqual(strIn,strTmp,6))
return 0;
}
return 1;
}
int main()
{
long soLan = 999999/6+1;
for(long i = 100000; i<soLan;++i)
if(isValid(i))
printf("%d\n",i);
return 0;
}
#include<stdio.h>
#include<stdlib.h>
int isEqual(char *a,char *b,int num)
{
for(int i = 0; i<num;++i)
if(a!=b)
return 0;
return 1;
}
// Đôi chiêu
int compare(const void* a,const void* b)
{
return *(char*)a - *(char*)b;
int isValid(long lNumber)
{
char strIn[7],strTmp[7];
sprintf(strIn,"%ld",lNumber);
qsort(strIn,6,1,compare);
for(int i = 2; i<=6; ++i)
{
long temp = lNumber*i;
sprintf(strTmp,"%ld",temp);
qsort(strTmp,6,1,compare);
if(!isEqual(strIn,strTmp,6))
return 0;
}
return 1;
}
int main()
{
long soLan = 999999/6+1;
for(long i = 100000; i<soLan;++i)
if(isValid(i))
printf("%d\n",i);
return 0;
}