简单枚举---除法
2014-03-11 20:06
281 查看
除法
输入正整数n,按从小到大的顺序输出所有形如abcde/fghij=n的表达式,其中a~j恰好为数字0~9的一个排列,2<=n<=79.
样例输入:
62
样例输出:
79546/01238=62
94736/01528=62
代码如下:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int panduan(int,int);
int n,i;
while(scanf("%d",&n)=1)
{
for(i=1234;i*n<=98765;i++)
if(i<=9876&&i*n>=12345&&panduan(i,i*n))
printf("%d/0%d=\n",i*n,i);
if(i>=10234&&i*n>=56789&&panduan(i,i*n))
printf("%d/%d=\n",i*n,i);
}
return 0;
}
int panduan(int x,int y)
{
int a[10]={0};
for(int i=0;i<5;i++)
{
a[x%10]++;
x=x/10;
}
for(int i=0;i<5;i++)
{
a[y%10]++;
y=y/10;
}
for(int i=0;i<10;i++)
{
if(a[i]!=1)
return 0;
}
return 1;
}
输入正整数n,按从小到大的顺序输出所有形如abcde/fghij=n的表达式,其中a~j恰好为数字0~9的一个排列,2<=n<=79.
样例输入:
62
样例输出:
79546/01238=62
94736/01528=62
代码如下:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int panduan(int,int);
int n,i;
while(scanf("%d",&n)=1)
{
for(i=1234;i*n<=98765;i++)
if(i<=9876&&i*n>=12345&&panduan(i,i*n))
printf("%d/0%d=\n",i*n,i);
if(i>=10234&&i*n>=56789&&panduan(i,i*n))
printf("%d/%d=\n",i*n,i);
}
return 0;
}
int panduan(int x,int y)
{
int a[10]={0};
for(int i=0;i<5;i++)
{
a[x%10]++;
x=x/10;
}
for(int i=0;i<5;i++)
{
a[y%10]++;
y=y/10;
}
for(int i=0;i<10;i++)
{
if(a[i]!=1)
return 0;
}
return 1;
}
相关文章推荐
- 算法竞赛入门经典 暴力求解法 7.1简单枚举 除法
- acm-简单枚举-除法(水题)
- 简单枚举-除法
- 7.1 简单枚举---7.1.1除法
- 简单枚举之除法
- ACMjava简单枚举除法,分数拆分,双基回文数,最大乘积
- 【算法入门经典】 7.1简单枚举【除法】
- 暴力求解法之简单枚举--除法
- 简单枚举类型——植物与颜色 (SDUT 1959)
- hdu5073 简单枚举+精度处理
- 枚举的简单使用。
- 简单枚举类型——植物与颜色
- 简单的除法逻辑实现
- JavaSE 拾遗(15)——JavaSE 高新技术基础增强...java5简单新特性和枚举
- 简单枚举系统启动项
- 枚举系列 除法 java版
- 简单的排列组合-使用枚举
- 最大乘积----简单枚举
- 简单枚举类型——植物与颜色
- 简单枚举类型——植物与颜色 (sdut oj)