CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

简单的关于c的问题,急需解决

楼主wd_net()2006-10-04 02:43:21 在 C/C++ / C语言 提问

各位大哥,大姐,狂人们你们好,我刚在学习c语言,才开始学习到语句结构那里,有道题就是想不到方法,老师说这道题要是会了呢,语句结构就掌握的不错了,那这道题是这样子的:  
  雨淋湿了算术书的一道题,9个数字只能看清4个数字,其中字母Q代表淋湿了的数字:  
  [Q*(Q3+Q)]的平方=8QQ9,  
  请编程将这些数找出来,  
  小弟这是第一次问问题,恳请帮助。 问题点数:20、回复次数:18Top

1 楼jixingzhong(瞌睡虫·星辰)回复于 2006-10-04 08:28:52 得分 0

穷举算法Top

2 楼jixingzhong(瞌睡虫·星辰)回复于 2006-10-04 08:31:16 得分 0

http://www.52wg.org/computer/chengxu/200511/computer_99658.html  
   
  看看这里的文章   ~Top

3 楼jixingzhong(瞌睡虫·星辰)回复于 2006-10-04 08:35:26 得分 0

for   x=1   to   9    
    for   y=1   to   9    
      for   z=0   to   9      
        for   m=0   to   9    
          for   n=0   to   9    
              if   pow(x*(y*10+3+z),   2)   ==   8*1000   +   m*100   +   n*10   +   9    
          next   n  
        next   m  
      next   z    
    next   y    
  next   x    
  end    
   
  Top

4 楼whypp(绝望生鱼片)回复于 2006-10-04 08:42:10 得分 0

希望对你有帮助                           (自己改一下)                
  for(Q=0;Q<N;Q++)                                 #  
  if([Q*(Q3+Q)]*[Q*(Q3+Q)]==8QQ9)  
  printf("%d",Q);Top

5 楼lkpo(lkpo)回复于 2006-10-04 22:50:50 得分 0

好像没答案,你有没有抄错题?  
   
  我的源码  
   
  void   main()  
  {  
  int   Q=1;  
  int   k1,k2;  
   
  for(Q;Q<=9;++Q)  
  {  
  k1=Q*(3*Q+Q)*Q*(3*Q+Q);  
  k2=100*Q+10*Q+8009;  
   
  cout<<k1<<' '<<k2<<endl;  
  if(k1==k2)  
  cout<<Q<<endl;  
  }  
   
  }  
  Top

6 楼shisan107(拾叁)回复于 2006-10-05 15:18:02 得分 0

汗,楼上看清题目没有?Q不是一个变量,而代表每个不确定的数字。几个Q都很可能不是同一个数字。Top

7 楼Arthur_()回复于 2006-10-05 20:46:57 得分 0

,老师说这道题要是会了呢,语句结构就掌握的不错了  
  =============================================  
  那就看  
  jixingzhong(瞌睡虫:选择了远方,只顾风雨兼程!)   (   )   信誉:102         Blog    
  ???  
  怎麼搞vb了Top

8 楼lkpo(lkpo)回复于 2006-10-05 22:06:53 得分 0

Q不是同一个数吗?不同的话要用不同字母,我再想想Top

9 楼iambic()回复于 2006-10-05 22:39:53 得分 0

这种题方法很多,你所谓的编程求解要求太不明确了。  
   
  正常解法:  
  [Q*(Q3+Q)]的平方=8QQ9  
  符合8QQ9的平方数只有一个:  
  93*93   =   8649  
  再求  
  Q*(Q3+Q)   =   93  
  93   =   1*93   =   3*31  
  1*(93+0)   =   93  
  或者  
  3*(23+8)   =   93  
   
  所以答案是两组:  
  (1*(93+0))^2   =   8649  
  (3*(23+8))^2   =   8649  
   
  我觉得当一件事完全不需要计算机就可以得到结果的时候,你怎么编程都不过分。  
   
  你可以按我刚才的逻辑一步步使用计算机来解,也可以5循环穷举,当然也可以直接让计算机输出你已知的结果。  
  Top

10 楼wd_net()回复于 2006-10-08 14:45:34 得分 0

对啊,其它的5个数字都是不同的数字,也就是说5个q都是不一样的数字,  
  看了大侠们的提示我好象有了些思路了,恩,回去试一下了,谢谢你们!Top

11 楼wd_net()回复于 2006-10-08 14:47:29 得分 0

凉咖啡你说的话是什么意思啊?我好象有点不太明白啊/Top

12 楼Arthur_()回复于 2006-10-08 14:51:12 得分 0

我記得以前聯繫循環用計算水仙  
   
   
  其實就是訓練使用循環和IFTop

13 楼mathe()回复于 2006-10-08 14:56:26 得分 0

不用编程,根据8QQ9是完全平方数,可以得到90^2<=8QQ9<=94^2,  
  根据尾数为9,得到8QQ9=93^2=8649  
  左边Q*(Q3+Q),所以第一个Q是93的一位数因子,只能是3  
  所以左边为  
  3*(Q3+Q)=93=3*(23+8)Top

14 楼wd_net()回复于 2006-10-08 14:57:41 得分 0

iambic()  
    我觉得当一件事完全不需要计算机就可以得到结果的时候,你怎么编程都不过分。  
  你好啊,我觉得你说的话顶有意思哦,你都已经告诉我答案了还有什么意思啊,我很想知道解题的思路,不过你的话很有道理的,而且我也想过用5个循环来解题。  
  首先这个数的平方要满足条件,也就是要等于8QQ9,接着就用一个for循环和4个while循环来分别找出第一个至最后一个数,然后分别输出,不知道这样能不能求解,我回去试试。  
  祝你们开心!  
  Top

15 楼wbohome()回复于 2006-10-08 16:13:55 得分 0

#include   "stdio.h"  
  #include   "math.h"  
   
  void   main()  
  {  
  int   i,j,k,m,n;  
  for(j   =   0;   j   <=   9;   j++)  
  {  
  for(k   =   0;   k   <=   9;   k++)  
  {  
  for(m   =   0;   m   <=   9;   m++)  
  {  
  for(n   =   0;   n   <=   9;   n++)  
  {  
  for(i   =   0;   i   <=   9;   i++)  
  {  
  if(pow(i*(j*10   +   3   +   k),2)   ==   (m   *   100   +   8000   +   n   *   10   +   9))  
  {  
  printf("i=%d,j=%d,k=%d,m=%d,n=%d",i,j,k,m,n);  
  printf("\n");  
  }  
  }  
  }  
  }  
  }  
  }  
  }  
  Top

16 楼wd_net()回复于 2006-10-11 13:25:53 得分 0

恩!你是狂人,完全正确!  
  诶!郁闷那,老师说要是这道题做出来的话呢,语句结构就掌握的不错了,这道题我到是做出来了,但是还有好多的例子不会做,真是郁闷那!  
  比如说:  
  遍一个程序统计学生的平均成绩,人数可以是任意的,直到输入的成绩是-1的话呢,结束程序,并输出平均成绩。  
  我晕那,编了好久,愣是没有编出来,找人讲了一遍,但是好象还是没有明白,诶,怎么办?好着急!·Top

17 楼wd_net()回复于 2006-10-11 13:31:10 得分 0

谁说说思路,主要是思路,Top

18 楼wd_net()回复于 2006-10-11 15:37:52 得分 0

jixingzhongTop

相关问题

关键词

得分解答快速导航

  • 帖主:wd_net

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo