华师一附中OI组

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1748|回复: 2
打印 上一主题 下一主题

整数问题

[复制链接]

2

主题

17

帖子

143

积分

注册会员

Rank: 2

积分
143
QQ
跳转到指定楼层
楼主
发表于 2014-10-29 15:19:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
对于以下的每一题,不同的字母代表不同的值,相同的字母代表相同的值,写代码跑出结果。。。1.AHHAAH/JOKE=HA
2.ONE+ONE=TWO
PS:ONE中的O和TWO中的O一样,但和JOKE的O不一样
目前只有两个。。。先做再说。。。。
回复

使用道具 举报

738

主题

1485

帖子

5420

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5420
沙发
发表于 2014-11-1 17:30:29 | 只看该作者
楼上标准算法,很好!
回复 支持 反对

使用道具 举报

2

主题

17

帖子

143

积分

注册会员

Rank: 2

积分
143
QQ
板凳
 楼主| 发表于 2014-11-4 21:39:50 | 只看该作者
1.
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int h,a,joke;bool b[10];
  5. int main()
  6. {
  7.         for(h=1;h<=9;h++)
  8.         {
  9.                 b[h]=1;
  10.                 for(a=0;a<=9;a++)
  11.                 if(!b[a])
  12.                 {
  13.                         b[a]=1;
  14.                         long ahhaah=11001*h+100110*a,ha=10*h+a;
  15.                         if(ahhaah/ha*ha==ahhaah)
  16.                         {
  17.                                 joke=ahhaah/ha;
  18.                                 while(joke)
  19.                                 {
  20.                                         int p=joke%10;joke/=10;
  21.                                         if(b[p])break;
  22.                                 }
  23.                                 if(joke)continue;
  24.                                 else cout<<ahhaah<<"/"<<ha<<"="<<ahhaah/ha;
  25.                         }
  26.                         b[a]=0;
  27.                 }
  28.                 b[h]=0;
  29.         }
  30.         return 0;
  31. }
复制代码

2.
  1. #include<iostream>
  2. #include<cmath>
  3. using namespace std;
  4. int one,two;bool b[10];
  5. void print()
  6. {
  7.         cout<<one<<"+"<<one<<"="<<two<<endl;
  8. }
  9. int main()
  10. {
  11.         cout<<"ONE+ONE=TWO"<<endl;
  12.         for(int oneo=2;oneo<=4;oneo+=2)
  13.         {
  14.                 b[oneo]=1;
  15.                 for(int onen=0;onen<=9;onen++)
  16.                 if(!b[onen])
  17.                 {
  18.                         b[onen]=1;
  19.                         for(int onee=1;onee<=7;onee++)
  20.                         if(!b[onee])
  21.                         {
  22.                                 b[onee]=1;
  23.                                 one=100*oneo+10*onen+onee;
  24.                                 two=2*one;
  25.                                 int twoo=two%10,twow=(two/10)%10,twot=two/100;
  26.                                 if(twoo==oneo&&!b[twow]&&!b[twot]&&twow!=twot)print();
  27.                                 b[onee]=0;
  28.                         }
  29.                         b[onen]=0;
  30.                 }
  31.                 b[oneo]=0;
  32.         }
  33.         return 0;
  34. }
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|服务支持:DZ动力|华师一附中OI组  

GMT+8, 2024-11-2 16:25 , Processed in 0.106656 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表