随笔 - 71  文章 - 15  trackbacks - 0
<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

因为口渴,上帝创造了水;
因为黑暗,上帝创造了火;
因为我需要朋友,所以上帝让你来到我身边
Click for Shaanxi xi'an, Shaanxi Forecast
╱◥█◣
  |田|田|
╬╬╬╬╬╬╬╬╬╬╬
If only I have such a house!
〖总在爬山 所以艰辛〗
Email:myesjoy@yahoo.com.cn
NickName:yesjoy
MSN:myesjoy@hotmail.com
QQ:150230516

〖总在寻梦 所以苦痛〗

常用链接

留言簿(3)

随笔分类

随笔档案

文章分类

文章档案

Hibernate在线

Java友情

Java认证

linux经典

OA系统

Spring在线

Structs在线

专家专栏

企业信息化

大型设备共享系统

工作流

工作流产品

网上购书

搜索

  •  

最新评论

阅读排行榜

评论排行榜

/**
求a、b的最大公因数(或者说最大公约数)
分析:a=12,b=32
a=1*2*3*2=3*4
b=8*4
则最大公因数为4
思路:
<1>、需要比较a、b大小
<2>、设a<b则程序设计如下:
for(i=1;i<a;i++){
  if((a%i==0)&&(b%i==0)) k=i;//从小到大依次保留公约数
}
//当for循环完毕以后则k中保留的应该是最大公约数
*/

#include 
"stdio.h"
main()
{
    
int a,b,k,t,i;
    printf(
"Please input a,b:\n");
    scanf(
"%d %d",&a,&b);
    
if(a>b){t=a;a=b;b=t;}
    
for(i=1;i<=a;i++){
        
if((a%i==0)&&(b%i==0)){
            k
=i;
            printf(
"%d\n",k);
        }

    }

    printf(
"%d\n",k);
    getch();
}
/**
最小公倍数代码
*/

#include 
"stdio.h"
main()
{
    
int a,b,k,t,i;
    printf(
"Please input a,b:\n");
    scanf(
"%d %d",&a,&b);
    
if(a>b){t=a;a=b;b=t;}
    
for(i=1;i<=a;i++){
        
if(b*i%a==0){
            k
=b*i;
            
break;
        }

    }

    printf(
"%d\n",k);
    getch();
}

补充一下for循环的流程图的画法:
for(int   i=0;   i<N;   i++)   
  
{   
     
  }
   
  
1、初始化i=0   
  
2、判断i是否小于N   
  
3、执行花括号中内容   
  
4、i++   
  
5goto   2   
  over
posted on 2007-07-31 10:55 ★yesjoy★ 阅读(1552) 评论(2)  编辑  收藏 所属分类: C/C++语言算法总结

FeedBack:
# 小评 2008-03-23 15:12 小姚
看了第一个程序后就没有再看下去的必要啦。
1.定义不好,容易造成溢出!你搞个大一点的试试!
2.你搞个负数试试!
3.对题意不是很懂,答非所问(要求最大的,而不是所有的!)
4.书写很菜!  回复  更多评论
  
# re: 求a、b的最大公因数(或者说最大公约数)以及最小公倍数 2008-05-29 19:30 #
这个算法不好,建议你还是重新去网上学下  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: