有关C语言-辗转相除法

辗转相除法
辗转相除法是求最大公约数的一种算法,是由古希腊著名数学家欧几里得在公元前300年左右提出的,因而又叫欧几里得算法.这个算法本质上揭示了一个定理: 对于两个正整数a>b,如果a=bq+r(0<r≤b),那么a,b的最大公约数等于b,r的最大公约数.
其算法的具体步骤为:
第一步:输入两个正整数a,b(a>b),
第二步:计算a÷b的余数r;
第三步:a=b,b=r;
第四步:若r=0,则最大公约数为n;否则返回第二步

——————————————————————–
除数变被除数,余数变除数,直到没有余数(除尽为止)return 最后的除数

先求出最大公约数,然后最小公倍数为a*b/最大公约数


/*
辗转相除法求整数m,n最大公约数
*/
int gcd(int m,int n)
{
int t;
while(t=m%n)
{
m=n;
n=t;
}
return n;
}

/*求最小公倍数*/
int lcm(int a,int b)
{
return a*b/gcd(a,b);
}

ubuntu 8.04安装A78GT的最新 驱动成功!

经过N次的决定,开始安装我的A78GT的驱动
第一步:在这个网站下载你相应的显卡驱动到桌面: http://ati.amd.com/support/drivers/linux64/linux64-radeon.html
第二步:在右上方的角落找到系统-附件-终端。
第三步: cd 到你的 桌面 具体是在终端输入 sudo cd /home/XXXXX/桌面 XXXXX表示是你的用户名 如果 不知道 可以选下载的ati-driver-installer-8-4-x86.x86_64.run 的属性 查看 位置 后面的 就是的
第四步:在 终端输入 sudo chmod +x ati-driver-installer-8-4-x86.x86_64.run
sudo ./ati-driver-installer-8-4-x86.x86_64.run
sudo aticonfig –initial
sudo reboot
不过 安装界面是英文的 命令是一个一个的输入
重启用 安全模式进入 不知道 怎么 回事? 正常启动 慢得要么死 我 直接用安全模式进入
就可以 看得见 华丽的界面了 呵呵
其他特效正在研究中

移花接木的8.04硬盘安装方法(AMD版)+制作双系统引导菜单—–献给我最爱的ubuntu!

呵呵,这个帖子献给和我一样的新手,恩,老鸟可以闪了。。。
如果有什么地方,说得不好请及时联系我啊

1.移花接木的硬盘安装方法!
注意本方法仅适用可以一键还原(这个是用grub 引导的)功能的XP!
测试通过 深度GhostXP电脑城克隆版V7.0
本文安装的是ubuntu-8.04-beta-desktop-amd64.iso
其它没有测试,请安装成功的 联系我!
QQ :391501549
Baidu Hi : caijiamx

把下载的iso镜像中的casper .disk 解压在D盘
ubuntu-8.04-beta-desktop-amd64.iso 复制到D盘
在C盘找到menu.lst(首先选择属性 去掉只读 添加完后再改回去 一定要改 不要忘了啊!!!!)
在menu.lst中添加

title 安装ubuntu-8.04-beta
find –set-root (hd0,4)/casper/vmlinuz
kernel (hd0,4)/casper/vmlinuz boot=casper splash
initrd (hd0,4)/casper/initrd.gz

具体的是这个 我的menu.list:

default 2
timeout 5

fontfile /boot/load/fonts.gz
splashimage /boot/load/deepin.xpm.gz

title ☆ 深度技术论坛 一键还原工具 ☆
clear
#..

title ──────────────────────────────────
clear
title 启动 一键还原 Ghost v11.0
map –mem /boot/load/ghost.img (fd0)
map –hook
chainloader (fd0)+1
rootnoverify (fd0)
title ──────────────────────────────────
clear
title 启动本机硬盘的 WINDOWS NT/2003/XP 系统
map (hd0) (hd0)
map (hd0) (hd1)
root (hd0,0)
chainloader (hd0,0)+1
boot
rootnoverify (hd0,0)
chainloader +1
clear
title 启动本机硬盘上 VISTA 系统(如果存在)
find –set-root /bootmgr
chainloader /bootmgr
clear
title ──────────────────────────────────
clear
title 安装ubuntu-8.04-beta
find –set-root (hd0,4)/casper/vmlinuz
kernel (hd0,4)/casper/vmlinuz boot=casper splash
initrd (hd0,4)/casper/initrd.gz
clear
title 从第二硬盘启动系统
fallback 6
root (hd0,1)
chainloader +1
title 从光驱启动系统
cdrom –init
map –hook
chainloader (cd0)
boot
title ──────────────────────────────────
clear
title 重启计算机
reboot
clear
title 关闭计算机
halt

如果是在c盘的话就不要(hd0,4)
就是这个(前提是 C盘 没有menu.lst 还有 grldr 这两个文件)

title 安装ubuntu-8.04-beta
find –set-root /casper/vmlinuz
kernel /casper/vmlinuz boot=casper splash
initrd /casper/initrd.gz

如果是 E,F盘的话
E是(hd0,5)F(hd0,6)
这个是没有用过其它的第三方软件的调整硬盘的结果

如果用过的话请谨慎使用,由此引起的一系列后果,本人概不负责!

安装成功 !

2.楼上介绍如何从硬盘安装ubuntu8.04,一种偷懒的方法
现在教你制作双系统引导
(适用于Ghost版的XP,有一键还原的)
这个方法仅限已经用上面方法安装的(这个两步可以连在一起!,其它硬盘安装方法是否可以按照这个方法制作双系统不清楚,初步估计应该也可以,因为没有测试,有测试通过的可以联系我)
QQ: 391501549

BaiduHi caijiamx
如果要想按我下面的方法制作双系统(不是按照我上面的方法安装的)可以参考下,我并不能保证100%的能成功!
有成功的也可以联系我!

好了,废话不多说,直接进入主题!
安装ubuntu的分区的时候请记下你的/boot所在分区的/dev/sdX,X是多少!这个后面要用!
如果没有记下的,可以点上一步查看!
这个关键在安装的最后一步,安装菜单提示你是否把分区结果写入磁盘,到了这一步,不要忙着下一步,我们们有重要的事情要做!
如果直接点下一步,后果很严重!那就直接覆盖你mbr,也就是你的Windows XP启动引导器(不知道说错了没有),你WindowsXP就这样的挂了!以后只能引导ubuntu了!(我相信还有没有人能脱离的了Windows吧,至少现在,不要跟我说未来,有些人可以除外,呵呵!)

下面,我们来解决这个问题!
安装到最后一步,问是否把分区结果写入磁盘,点旁边的高级选项,
出现安装启动引导器到哪里的选项,默认的是sd0
选择安装到你的/boot的分区下
比如,我只有/ 和/swap分区
我的/ 分区是在/dev/sd8
我就选择安装启动引导器到sd8
而不是sd0
如果/boot是单独分区的话,请记下你的/boot的分区是/dev/sdX,X是个数字,是多少!!可以在分区后,看到分区结果!记下来!
选择安装启动引导器到你的/boot的分区,选!择,确定,等安装完系统!
利用我上面的方法安装成功后,系统会提示请你重启!!

注意!千万不要重启,因为我们需要menu.list,重启以后,就无法进入ubuntu!

找到/boot/grub/menu.list 这个找到后就保存下来,我是直接复制到我的D盘的!我的C D E F都已经mount了,呵呵!
保存方法不限,可以上传到邮件附件,也可以网络硬盘!自己想吧!

好了,重启后,进入XP,找到你的menu.list打开
这个可能结果格式比较乱,我的就是,没有按照格式保存!

查找这一行
## ## End Default Options ##

按照这格式

title 启动Ubuntu-8.04-beta
root (hd0,7)

kernel /boot/vmlinuz-2.6.24-12-generic root=UUID=98c816ac-0707-4836-9d19-68983f881007 ro quiet splash

initrd /boot/initrd.img-2.6.24-12-generic

按照一定的格式复制到你C盘下的menu.list中
添加好!
重启,进入,一键还原!选项,找到启动ubuntu选择,OK,可以进入!

最后总结:
优点:不覆盖你的C盘已经有的menu.list和grldr 适用于Ghost版的XP(一般都有一键还原,呵呵)
缺点:需要进入一键还原(有点麻烦)
还有个最大缺点,那就是重装系统,无法引导ubuntu了,所以,我强烈要求,使用这个方法,一定要备份好menu.list

最后show 下我的menu.list

default 2
timeout 5

fontfile /boot/load/fonts.gz
splashimage /boot/load/deepin.xpm.gz

title ☆ 深度技术论坛 一键还原工具 ☆
clear
#..

title ──────────────────────────────────
clear
title 启动 一键还原 Ghost v11.0
map –mem /boot/load/ghost.img (fd0)
map –hook
chainloader (fd0)+1
rootnoverify (fd0)
title ──────────────────────────────────
clear
title 启动本机硬盘的 WINDOWS NT/2003/XP 系统
map (hd0) (hd0)
map (hd0) (hd1)
root (hd0,0)
chainloader (hd0,0)+1
boot
rootnoverify (hd0,0)
chainloader +1
clear
title 启动本机硬盘上 VISTA 系统(如果存在)
find –set-root /bootmgr
chainloader /bootmgr
clear
title ──────────────────────────────────
clear
title 安装ubuntu-8.04-beta
find –set-root (hd0,4)/casper/vmlinuz
kernel (hd0,4)/casper/vmlinuz boot=casper splash
initrd (hd0,4)/casper/initrd.gz
clear
title 启动Ubuntu-8.04-beta
root (hd0,7)

kernel /boot/vmlinuz-2.6.24-12-generic root=UUID=98c816ac-0707-4836-9d19-68983f881007 ro quiet splash

initrd /boot/initrd.img-2.6.24-12-generic

quie0
clear
t

title Ubuntu hardy (development branch), kernel 2.6.24-12-generic (recovery mode)

root (hd0,7)

kernel /boot/vmlinuz-2.6.24-12-generic root=UUID=98c816ac-0707-4836-9d19-68983f881007 ro single

initrd /boot/initrd.img-2.6.24-12-generic
clear

title Ubuntu hardy (development branch), memtest86+

root (hd0,7)

kernel /boot/memtest86+.bin

quiet

clear
title 从第二硬盘启动系统
fallback 6
root (hd0,1)
chainloader +1
title 从光驱启动系统
cdrom –init
map –hook
chainloader (cd0)
boot
title ──────────────────────────────────
clear
title 重启计算机
reboot
clear
title 关闭计算机
halt