纯C语言写法,不涉及C++语法,有需则看
2025-02-04 22:35:58
发布于:河南
#include<stdio.h>
int main()
{
int N=0;
bool ctr = true;
scanf("%d",&N);
for(int a=0;a<=9;a++)
for(int b=0;b<=9;b++)
if(b!=a)
for(int c=0;c<=9;c++)
if(c!=b&&c!=a)
for(int d=0;d<=9;d++)
if(d!=c&&d!=b&&d!=a)
for(int e=0;e<=9;e++)
if(e!=d&&e!=c&&e!=b&&e!=a)
for(int f=0;f<=9;f++)
if(f!=e&&f!=d&&f!=c&&f!=b&&f!=a)
for(int g=0;g<=9;g++)
if(g!=f&&g!=e&&g!=d&&g!=c&&g!=b&&g!=a)
for(int h=0;h<=9;h++)
if(h!=g&&h!=f&&h!=e&&h!=d&&h!=c&&h!=b&&h!=a)
for(int i=0;i<=9;i++)
if(i!=h&&i!=g&&i!=f&&i!=e&&i!=d&&i!=c&&i!=b&&i!=a)
for(int j=0;j<=9;j++)
if(j!=i&&j!=h&&j!=g&&j!=f&&j!=e&&j!=d&&j!=c&&j!=b&&j!=a)
{//生成的十个数abcdefghij是互不相同的0-9的个位数
//令前五个组成被除数
int bei = a10000+b1000+c100+d10+e;
//后五个组成除数
int chu = f10000+g1000+h100+i10+j;
//计算商
double shang = (double)bei/(double)chu;
//判断商是否为N
if(shangN)
{//最终输出
if(f0)
{
printf("%d / 0%d\n",bei,chu);
ctr=false;
}
else
{
printf("%d / %d\n",bei,chu);
ctr=false;
}
}//是否满足商==N条件判断
}//最终循环
if(ctr)
printf("No answer.");
return 0;
}
全部评论 1
延迟高,但是内存小2025-02-04 来自 河南
0
有帮助,赞一个