标题:大家过来帮帮忙,计算--------○*○○○=○○*○○○强烈要求lmjv222进来
只看楼主
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
 问题点数:0 回复次数:7 
大家过来帮帮忙,计算--------○*○○○=○○*○○○强烈要求lmjv222进来
//在“○”填入1,2,3,4,5,6,7,8,9,不重复使得式子成立
//(4)○*○○○=○○*○○○(共有13种可能)
//(5)○*○○○=○*○○○○(共有288种可能)
//(6)○○*○○=○*○○○○(共有7种可能)
//(7)○○*○○=○○*○○○(共有11种可能)

#include<stdio.h>//我只写了○*○○○=○○*○○○,但是运行出来的没有13组,只有8组
#include<string.h>//哪位好人看看错误在哪,顺便把其他的也写了
void first();
int judge(int ,int ,int ,int);
#include<stdlib.h>
void main()
{
first();

}
void first()
{
int i,j,k,n,m,count=0;
for(i=1;i<9;i++)//代表的是○
{
for(j=100;j<999;j++)//代表的是○○○
{
for(k=10;k<99;k++)//代表又边的○○
{
m=i*j;
if(m%k==0)
{
n=m/k;
m=judge(i,j,k,n);
if(m)
{printf("%d %d %d %d\n",i,j,k,n);
count++;}
}
}
}
}
printf("%d\n",count);
}
int judge(int a,int b,int e,int f)
{
int i,j;
char c[3],d[11];
itoa(a,c,10);
strcpy(d,c);
itoa(b,c,10);
strcat(d,c);
itoa(e,c,10);
strcat(d,c);
itoa(f,c,10);
strcat(d,c);//一直到这里我是把a,b,e,f变成数组d[]
for(i=0;d[i]!='\0';i++);//数组的元素不是9个跳出
if(i!=9)
return 0;
for(i=0;d[i]!='\0';i++)
{
for(j=i+1;d[j]!='\0';j++)
{
if(d[i]==d[j]||d[j]=='0')//数组的元素有相同的或者有0的跳出
return 0;
}
}
return 1;//否则返回1

}
原始题目是出自本论坛lmjv222发的c语言100题中的97题,前面还有三个式子,我做出来了基本上也是这样写的,
但是最后4个式子我计算出来的个数都比题目中给的答案少,有兴趣的做做。尤其是那个发这个100题的朋友

搜索更多相关主题的帖子: include void 
2007-02-24 10:19
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
得分:0 
8种
20种
9种
18种,如果有不对,我再检验一次,谢谢。

谁有强殖装甲第二部,可以Q我460054868
2007-02-24 14:05
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
得分:0 
我大概也和你是一样,但是题目给的组数实在太多了,
能把你的原代码拿出来吗?

2007-02-24 21:18
hujian100
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2006-9-14
得分:0 
我的结果可以 你看看 后边的其他题目都可以参照这个思路:

#include <stdio.h>
main()
{
int one,three1,two,three2;
int i,j,temp,count=0;
int string[9];
for(one=1;one<=9;one++)
for(three1=123;three1<=987;three1++)
for(two=12;two<=98;two++)
for(three2=123;three2<=987;three2++)
if(one*three1==two*three2)
{
string[0]=one;
string[1]=three1/100;
string[2]=three1%100/10;
string[3]=three1%10;
string[4]=two/10;
string[5]=two%10;
string[6]=three2/100;
string[7]=three2%100/10;
string[8]=three2%10;
for(i=0;i<8;i++)
for(j=i+1;j<9;j++)
if(string[i]>string[j])
{
temp=string[i];
string[i]=string[j];
string[j]=temp;
}
if(string[0]==1&&string[1]==2&&string[2]==3&&string[3]==4&&string[4]==5&&string[5]==6&&string[6]==7&&string[7]==8&&string[8]==9)
{
count++;
printf("%d*%d=%d*%d\n",one,three1,two,three2);
}
}
printf("There are %d results in total!\n",count);
}

2007-02-24 22:03
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
得分:0 
谢楼上,看了你的程序我自己也找到错误了

2007-02-25 13:30
cfnxy
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2007-2-17
得分:0 
//(5)○*○○○=○*○○○○(共有288种可能)
这个是不是有问题 我算的是28种
2007-03-01 07:58
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
得分:0 
我也只计算出28种

2007-03-02 20:12
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
得分:0 
回复:(cfnxy)//(5)○*○○○=○*○○○○(共有2...
以下是引用cfnxy在2007-3-1 7:58:29的发言:
//(5)○*○○○=○*○○○○(共有288种可能)
这个是不是有问题 我算的是28种

28种肯定不对


羊肉串 葡萄干 哈密瓜!!
2007-03-02 22:17



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-121507-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.042964 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved