文档库 最新最全的文档下载
当前位置:文档库 › C算法提高训练题

C算法提高训练题

C算法提高训练题
C算法提高训练题

C提高题二

题1:高精度加法

在C/C++语言中,整型所能表示的范围一般为-231到231(大约21亿),即使long long型,一般也只能表示到-263到263。要想计算更加规模的数,就要用软件来扩展了,比如用数组或字符串来模拟更多规模的数及共运算。

现在输入两个整数,请输出它们的和。

输入格式

两行,每行一个整数,每个整数不超过1000位

输出格式

一行,两个整数的和。

样例输入

15464315464465465

482321654151

样例输出

15464797786119616

数据规模和约定

每个整数不超过1000位

题2:6-9删除数组中的0元素

编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动。注意,CompactIntegers函数需要接收数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的新元素个数。

输入时首先读入数组长度,再依次读入每个元素。

将调用此函数后得到的数组和函数返回值输出。

样例输入

7

2 0 4

3 0 0 5

样例输出

2 4

3 5

4

题3:3-2字符串输入输出函数

编写函数GetReal和GetString,在main函数中分别调用这两个函数。在读入一个实数和一个字符串后,将读入的结果依次用printf输出。

两次输入前要输出的提示信息分别是"please input a number:\n”和"please input a string:\n" 样例输入

9.56

hello

样例输出

please input a number:

please input a string:

9.56

hello

题4:进制转换

程序提示用户输入三个字符,每个字符取值范围是0-9,A-F。然后程序会把这三个字符转化为相应的十六进制整数,并分别以十六进制,十进制,八进制输出。

输入格式:输入只有一行,即三个字符。

输出格式:输出只有一行,包括三个整数,中间用空格隔开。

输入输出样例

样例输入

FFF

样例输出

FFF 4095 7777

题5:c++_ch06_02

编写并测试如下函数:

void Add (int a[], int m, int b[], int n);

该函数将数组b的前n个元素追加到数组a的前m个元素后,假定数组a具有至少存放m+n个元素的空间。例如,如果数组a为{22,33,44,55,66,77,88,99},数组b为{20,30,40,50,60,70,80,90},则调用Add(a,5,b,3)后,将把数组a变为{22,33,44,55,66,20,30,40}。注意数组b并没有改变,而且数组a中只需改变n个元素。

测试

输入:4行。第一行为两个整数:m,n,并以空格隔开,分别表示将要输入的数组a和数组b的元素的个数。第二行为m个整数,为数组a的元素;第三行为n个整数,为数组b的元素。第四行为两个整数m1,n1,表示把数组b的前n1个元素追加到数组a的前m1个元素后。

输出:1行。第一行为最后数组a中的元素,两个元素之间以逗号隔开。最后一个元素输出后,输出一个空行。

参考程序

#include

#include

using namespace std;

void Disp(int a[], int n)

{

for (int i=0; i

cout << a[i] << ", ";

cout << a[n-1] << endl;

}

void Add(int a[], int m, int b[], int n) {

//...请补充完整

}

int main()

{

int* a = NULL;

int* b = NULL;

int i = 0;

int m, n;

cin >> m >> n;

a = new int[m + n];

b = new int[n];

for(i = 0; i < m; i++)

cin >> a[i];

for(i = 0; i < n; i++)

cin >> b[i];

int m1, n1;

cin >> m1 >> n1;

// 请补充完整

return 0;

}

题6:c++_ch03_02

PASCAL三角是形状如下的三角矩阵:

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

在PASCAL三角中的每个数是一个组合C(n,k)。

C(n,k)=(((((((n/1)(n-1))/2(n-2))/3)***(n-k+2))/(k-1))(n-k+1))/k

公式中交替使用乘法和除法,每次将从n开始递减的一个值相乘,然后除以下一个从1开始递增的值。

如果对行和列从0开始计数,则数字C(n,k)在n行k列。例如C(6,2)在第6行第2列。编程输出指定阶数的PASCAL三角矩阵。例如下面给出的是12阶PASCAL三角形矩阵。

编写程序,使运行结果为:

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

1 6 15 20 15 6 1

1 7 21 35 35 21 7 1

1 8 28 56 70 56 28 8 1

1 9 36 84 126 126 84 36 9 1

1 10 45 120 210 25

2 210 120 45 10 1

1 11 55 165 330 46

2 462 330 165 55 11 1

1 1

2 66 220 495 792 924 792 495 220 66 12 1

该题的详细文档及程序框架请从网络学堂下载!

题7: c++_ch02_03

编写程序实现“剪刀,石头,布”游戏。在这个游戏中,两个人同时说“剪刀”,“石头”或“布”,压过另一方的为胜者。规则是:“布”胜过“石头”,“石头”胜过“剪刀”,“剪刀”胜过“布”。要求:选择结构中使用枚举类型,结果的输出也使用枚举类型表示。

输入:两个数,范围为{0,1,2},用空格隔开。0表示石头,1表示布,2表示剪刀。这两个数分别表示两个人所说的物品。

输出:如果前者赢,输出1。如果后者赢,输出-1。如果是平局,输出0。

题8:c++_ch02_02

使用Switch语句编写一个模拟简单计算器的程序。依次输入两个整数和一个字符,并用空格隔开。如果该字符是一个“+”,则打印和;如果该字符是一个“-”,则打印差;如果该字符是一个“*”,则打印积;如果该字符是“/”,则打印商;如果该字符是一个“%”,则打印余数。打印结果后输出一个空行。

题9:Quadratic Equation

求解方程ax2+bx+c=0的根。要求a, b, c由用户输入,并且可以为任意实数。

输入格式:输入只有一行,包括三个系数,之间用空格格开。

输出格式:输出只有一行,包括两个根,大根在前,小根在后,无需考虑特殊情况,保留小数点后两位。

输入输出样例

样例输入

2.5 7.5 1.0

样例输出

-0.14 -2.86

题10:温度转换

编写一个程序,输入一个摄氏温度,输出相应的华氏温度。在输出时,保留小数点后面两位。

输入格式:输入只有一个整数,即摄氏温度。

输出格式:输出只有一实数,即相应的华氏温度。

输入输出样例

样例输入

35

样例输出

95.00

题11:征税程序

税务局希望你帮他们编写一个征税程序,该程序的功能是:首先输入某公司的年销售额sale和税率rate,然后程序将计算出相应的税额tax,并把它显示在屏幕上。计算公式是:

tax = sale * rate。

输入格式:输入只有一行,包括两个数据,即年销售额和税率。

输出格式:输出只有一行,包括一个实数,即相应的税额,保留到小数点后两位。

输入输出样例

样例输入

50000.5 0.1

样例输出

5000.50

题12:分数统计

给定一个百分制成绩T,将其划分为如下五个等级之一:

90~100为A,80~89为B,70~79为C,60~69为D,0~59为E

现在给定一个文件inp,文件中包含若干百分制成绩(成绩个数不超过100),请你统计五个等级段的人数,并找出人数最多的那个等级段,按照从大到小的顺序输出该段中所有人成绩(保证人数最多的等级只有一个)。要求输出到指定文件oup中。

输入格式

若干0~100的正整数,用空格隔开

输出格式

第一行为5个正整数,分别表示A,B,C,D,E五个等级段的人数

第二行一个正整数,表示人数最多的等级段中人数

接下来一行若干个用空格隔开的正整数,表示人数最多的那个等级中所有人的分数,按从大到小的顺序输出。

样例输入

100 80 85 77 55 61 82 90 71 60

样例输出

2 3 2 2 1

3

85 82 80

题13:猜测排名

5名选手A,B,C,D,E参加100米赛跑,赛前他们对结果作了如下预测:

A说:我不是第一,C不是最后一名

B说:A是第一,我是第二

C说:B是第一,我不是第三

D说:C是第一,我是第二

E说:D是第一,我是第三

赛后发现每个人刚好说对了一半。请你编程求出比赛最终排名有哪些可能。

本题要求将结果输出到指定文件oup中。

输出:

输出最终排名,为ABCDE五个字母组成的一个排列,表示1~5名对应的选手。

说明

假设在你自己机器上的代码为:

#include

#include

#include

#include

#include

using namespace std;

void guess(char *oup)

{

ofstream fout;

fout.open(oup);

@你的其它代码

fout.close();

}

int main()

{

guess("filename");

return 0;

}

你提交的代码应该是上面例子的红色部分

题14:欧拉函数

给定一个大于1,不超过2000000的正整数n,输出欧拉函数,phi(n)的值。

如果你并不了解欧拉函数,那么请参阅提示。

这是一道完善函数的题目,给定输入文件名inp和输出文件名oup,要求从输入文件中读取n,将结果输出到指定文件。

输入格式

在给定的输入文件中进行读入:

一行一个正整数n。

输出格式

将输出信息输出到指定的文件中:

一行一个整数表示phi(n)。

样例输入

输入文件example.in的内容为:

17

样例输出

输出文件example.out的内容为:

16

提示

欧拉函数phi(n)是数论中非常重要的一个函数,其表示1到n-1之间,与n互质的数的个数。显然的,我们可以通过定义直接计算phi(n)。

当然,phi(n)还有这么一种计算方法。

首先我们对n进行质因数分解,不妨设n=p1^a1 * p2^a2 * ... * pk^ak (这里a^b表示a的b次幂,p1到pk为k个互不相同的质数,a1到ak均为正整数),那么

phi(n)=n(1-(1/p1))(1-(1/p2))....(1-(1/pk))

稍稍化简一下就是

phi(n)=n(p1-1)(p2-1)...(pk-1)/(p1*p2*...*pk)

计算的时候小心中间计算结果超过int类型上界,可通过调整公式各项的计算顺序避免(比如先做除法)!

题15:不同单词个数统计

编写一个程序,输入一个句子,然后统计出这个句子当中不同的单词个数。例如:对于句子“one little two little three little boys”,总共有5个不同的单词:one, little, two, three, boys。

说明:(1)由于句子当中包含有空格,所以应该用gets函数来输入这个句子;(2)输入的句子当中只包含英文字符和空格,单词之间用一个空格隔开;(3)不用考虑单词的大小写,假设输入的都是小写字符;(4)句子长度不超过100个字符。

输入格式:输入只有一行,即一个英文句子。

输出格式:输出只有一行,是一个整数,表示句子中不同单词的个数。

输入输出样例

样例输入

one little two little three little boys

样例输出

5

题16:打水问题

N个人要打水,有M个水龙头,第i个人打水所需时间为Ti,请安排一个合理的方案使得所有人的等待时间之和尽量小。

输入格式

第一行两个正整数N M 接下来一行N个正整数Ti。

N,M<=1000,Ti<=1000

输出格式

最小的等待时间之和。(不需要输出具体的安排方案)

样例输入

7 3

3 6 1

4 2

5 7

样例输出

11

提示

一种最佳打水方案是,将N个人按照Ti从小到大的顺序依次分配到M个龙头打水。

例如样例中,Ti从小到大排序为1,2,3,4,5,6,7,将他们依次分配到3个龙头,则去龙头一打水的为1,4,7;去龙头二打水的为2,5;去第三个龙头打水的为3,6。

第一个龙头打水的人总等待时间 = 0 + 1 + (1 + 4) = 6

第二个龙头打水的人总等待时间 = 0 + 2 = 2

第三个龙头打水的人总等待时间 = 0 + 3 = 3

所以总的等待时间 = 6 + 2 + 3 = 11

题17:单词个数统计

编写一个程序,输入一个字符串(长度不超过80),然后统计出该字符串当中包含有多少个单词。例如:字符串“this is a book”当中包含有4个单词。

输入格式:输入一个字符串,由若干个单词组成,单词之间用一个空格隔开。

输出格式:输出一个整数,即单词的个数。

输入输出样例

用户输入数据样例:

this is a book

系统输出数据如下:

4

题18:断案

公安人员审问甲、乙、丙、丁四个嫌疑犯,已确知,这四个人当中仅有一人是偷窃者,还知道这四个人的答话,要么完全诚实,要么完全说谎。在回答公安人员的问话中:

甲说:“乙没有偷,是丁偷的。”

乙说:“我没有偷,是丙偷的。”

丙说:“甲没有偷,是乙偷的。”

丁说:“我没有偷,我用的那东西是我家里的。”

请根据上述四人答话,判断谁是偷窃者。

输入格式:无输入。

输出格式:输出一个字符,表示偷窃者是谁,A表示甲,B表示乙,C表示丙,D表示丁。

题19:栅格打印问题

编写一个程序,输入两个整数,作为栅格的高度和宽度,然后用“+”、“-”和“|”这三个字符来打印一个栅格。

输入格式:输入只有一行,包括两个整数,分别为栅格的高度和宽度。

输出格式:输出相应的栅格。

输入输出样例

样例输入

3 2

样例输出

+-+-+

| | |

+-+-+

| | |

+-+-+

| | |

+-+-+

题20:复数求和

题21:字符串比较

题22:任意年月日历输出

题23:求最大公约数

题24:素数判断

题25:输出日历

题26:输出九九乘法表

注意:表头的大小写要和样例一致,短线“-”个数要与样例中一致,否则系统会判为错误。

题27:输出正反三角形

题28:利息计算

编制程序完成下述任务:接受两个数,一个为用户一年期定期存款金额,一个为按照百分比格式表示的利率;程序计算一年期满

后本金与利息总额。说明:(1)存款金额以人民币元为单位,可能精确到分;(2)输入利率时不需要输入百分号,例如一年期定期存款年利率

为2.52%,用户输入2.52即可;(3)按照国家法律,存款利息所得需缴纳20% 的所得税,计算结果时所得税部分应扣除。要求输出小数点后严格

保留两位小数。

样例输入

10000 2.52

样例输出

10201.60

题29: 格式化数据输出

题30:算术运算

题31:图形输出

编写一程序,在屏幕上输出如下内容:

X | X | X

---+---+---

| |

---+---+---

O | O | O

注意:本题请同学们严格按照图形的格式输出,对齐,其中X和O为大写,否则系统会判为错误。

题32:寻找三位数

将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成

1:2:3的比例,试求出所有满足条件的三个三位数。

例如:三个三位数192,384,576满足以上条件。

输入格式

无输入文件

输出格式

输出每行有三个数,为满足题设三位数。各行为满足要求的不同解。

题33:填充蛋糕

编程计算涂满高为2,半径为r的圆形蛋糕表面,需要多少表面积的奶油(只要涂上表面和侧面) 读入一个数r,输出需要奶油的表面积,结果保留一位小数

样例输入

5.0

样例输出

141.4

题34:数的运算

输入一个正整数(范围[1..10000]),打印其平方(不保留小数位)、平方根、倒数。(用指针实现,保留2位小数,输出每个数之间以一个空格隔开)

样例输入

2

样例输出

4 1.41 0.50

题35:选最大数

输入3个整数a、b、c,(数的范围是[1,10000])输出其中最大的数。(用指针实现)

样例输入

2 5 1

样例输出

5

题36:时间转换

输入n分钟换算成天、小时和分输出。例如4880分钟,可换算成3天9小时20分。

输入一个正整数n(1

样例输入

4880

样例输出

3 9 20

题37:最长单词

编写一个函数,输入一行字符,将此字符串中最长的单词输出。

输入仅一行,多个单词,每个单词间用一个空格隔开。单词仅由小写字母组成。所有单词的长度和不超过100000。如有多个最长单词,输出最先出现的。

样例输入

I am a student

样例输出

student

题38:统计平均成绩

有4个学生,上4门课,要求输入全部学生的各门课成绩,并分别求出每门课的平均成绩。(保留2位小数)

括号里是解释内容,不用输入输出。输入的所有数都为0到100之间(包括端点)的整数

样例输入

(输入第1个学生的4门课成绩) 94 78 87 96

(输入第2个学生的4门课成绩) 66 87 75 69

(输入第3个学生的4门课成绩)100 98 89 77

(输入第4个学生的4门课成绩) 82 73 67 54

样例输出

(第1门课的平均成绩是) 85.50

(第2门课的平均成绩是) 84.00

(第3门课的平均成绩是) 79.50

(第4门课的平均成绩是) 74.00

题39:GDP计算

设我国国民生产总值的年增产率为10%,计算n年后我国国民生产总值与现在的比是多少。计算公式为:P=(1+r)n, r为年增产率,n为年数,P为n年后国民生产总值与现在相比的倍数。

输入格式

输入一个数n(1 <= n <= 300)。

输出格式

输出一个数P,保留2位小数。

样例输入

10

样例输出

2.59

题40:简单计算器

编程模拟计算器的加、减、乘、除功能,根据用户输入的运算符,对两个数进行运算。(要求switch 语句)

输入格式

输入只有一行,用空格隔开的运算符和两个运算数,运算符一定是+, -, *, /之一,运算数一定是绝对值不超过200的整数,当运算符为除号时,除数不为0并第一个数一定是第二个数的整数倍。

输出格式

输出只有一行,包含一个整数,表示运算结果。

样例输入

/ 6 2

样例输出

3

题41:计算整数因子

输入一个整数,输出其所有质因子。

输入格式

输入只有一行,包含一个整数n。

输出格式

输出一行,包含若干个整数,为n的所有质因子,按照从小到大的顺序排列。

样例输入

6

样例输出

2 3

数据规模和约定

1<=n<=10000。

题42:数组输出

输入一个3行4列的数组,找出该数组中绝对值最大的元素、输出该元素及其两个下标值。如有多个输出行号最小的,还有多个的话输出列号最小的。

样例输入

1 2 3 5

-2 5 8 9

6 -

7 5 3

样例输出

9 2 4

题43:一元一次方程

输入一元一次方法的ax+b=0的解。且数据均在double类型以内,且一定有解(保留2位小数)

样例输入

2 6

样例输出

-3.00

题44:判断回文

编程判断一个字符串是否是回文,当字符串是回文时,输出字符串:yes!,否则输出字符串:no!。所谓回文即正向与反向的拼写都一样,如adgda。长度在100以内,且全为小写字母

样例输入

adgda

样例输出

yes!

题45:冒泡法排序

输入10个数,用“冒泡法”对10个数排序(由小到大)这10个数字在100以内。

样例输入

1 3 6 8

2 7 9 0 4 5

样例输出

0 1 2 3 4 5 6 7 8 9

题46:质因数

将一个正整数N(1

样例输入

66

样例输出

66=2*3*11

题47:企业奖金发放

企业发放的奖金根据利润提成。利润低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万元到60万元之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%;高于100万元时,超过100万元的部分按1%提成。从键盘输入当月利润,求应发放奖金总数?(保留两位小数)利润的大小在double以内

样例输入

210000

样例输出

18000.00

题48:传染病控制

近来,一种新的传染病肆虐全球。蓬莱国也发现了零星感染者,为防止该病在蓬莱国大范围流行,该国政府决定不惜一切代价控制传染病的蔓延。不幸的是,由于人们尚未完全认识这种传染病,难以准确判别病毒携带者,更没有研制出疫苗以保护易感人群。于是,蓬莱国的疾病控制中心决定采取切断传播途径的方法控制疾病传播。经过 WHO(世界卫生组织)以及全球各国科研部门的努力,这种新兴传染病的传播途径和控制方法已经研究消楚,剩下的任务就是由你协助蓬莱国疾控中心制定一个有效的控制办法。

问题描述

研究表明,这种传染病的传播具有两种很特殊的性质;

第一是它的传播途径是树型的,一个人X只可能被某个特定的人Y感染,只要Y不得病,或者是XY之间的传播途径被切断,则X就不会得病。

第二是,这种疾病的传播有周期性,在一个疾病传播周期之内,传染病将只会感染一代患者,而不会再传播给下一代。

这些性质大大减轻了蓬莱国疾病防控的压力,并且他们已经得到了国内部分易感人群的潜在传播途径图(一棵树)。但是,麻烦还没有结束。由于蓬莱国疾控中心人手不够,同时也缺乏强大的技术,以致他们在一个疾病传播周期内,只能设法切断一条传播途径,而没有被控制的传播途径就会引起更多的易感人群被感染(也就是与当前已经被感染的人有传播途径相连,且连接途径没有被切断的人群)。当不可能有健康人被感染时,疾病就中止传播。所以,蓬莱国疾控中心要制定出一个切断传播途径的顺序,以使尽量少的人被感染。你的程序要针对给定的树,找出合适的切断顺序。

输入格式

输入格式的第一行是两个整数n(1≤n≤300)和p。接下来p行,每一行有两个整数i和j,表示节点i和j间有边相连(意即,第i人和第j人之间有传播途径相连,注意:可能是i到j也可能是j到i)。其中节点1是已经被感染的患者。

对于给定的输入数据,如果不切断任何传播途径,则所有人都会感染。

输出格式

只有一行,输出总共被感染的人数。

样例输入

7 6

1 2

1 3

2 4

2 5

3 6

7 3

样例输出

3

题49:阮小二买彩票

小升初数学应用题综合训练含答案

1. 甲、乙、丙三人在A、B两块地植树,A地要植900棵,B地要植1250棵.已知甲、乙、丙每天分别能植树24,30,32棵,甲在A地植树,丙在B地植树,乙先在A地植树,然后转到B地植树.两块地同时开始同时结束,乙应在开始后第几天从A地转到B地? 总棵数是900+1250=2150棵,每天可以植树24+30+32=86棵 需要种的天数是2150÷86=25天 甲25天完成24×25=600棵 那么乙就要完成900-600=300棵之后,才去帮丙 即做了300÷30=10天之后即第11天从A地转到B地。 2. 有三块草地,面积分别是5,15,24亩.草地上的草一样厚,而且长得一样快.第一块草地可供10头牛吃30天,第二块草地可供28头牛吃45天,问第三块地可供多少头牛吃80天? 这是一道牛吃草问题,是比较复杂的牛吃草问题。 把每头牛每天吃的草看作1份。 因为第一块草地5亩面积原有草量+5亩面积30天长的草=10×30=300份 所以每亩面积原有草量和每亩面积30天长的草是300÷5=60份 因为第二块草地15亩面积原有草量+15亩面积45天长的草=28×45=1260份 所以每亩面积原有草量和每亩面积45天长的草是1260÷15=84份 所以45-30=15天,每亩面积长84-60=24份 所以,每亩面积每天长24÷15=1.6份 所以,每亩原有草量60-30×1.6=12份 第三块地面积是24亩,所以每天要长1.6×24=38.4份,原有草就有24×12=288份 新生长的每天就要用38.4头牛去吃,其余的牛每天去吃原有的草,那么原有的草就要够吃80天,因此288÷80=3.6头牛 所以,一共需要38.4+3.6=42头牛来吃。 两种解法: 解法一: 设每头牛每天的吃草量为1,则每亩30天的总草量为:10*30/5=60;每亩45天的总草量为:28*45/15=84那么每亩每天的新生长草量为(84-60)/(45-30)=1.6每亩原有草量为60-1.6*30=12,那么24亩原有草量为12*24=288,24亩80天新长草量为24*1.6*80=3072,24亩80天共有草量3072+288=3360,所有3360/80=42(头) 解法二:10头牛30天吃5亩可推出30头牛30天吃15亩,根据28头牛45天吃15木,可以推出15亩每天新长草量(28*45-30*30)/(45-30)=24;15亩原有草量:1260-24*45=180;15亩80天所需牛180/80+24(头)24亩需牛:(180/80+24)*(24/15)=42头 3. 某工程,由甲、乙两队承包,2.4天可以完成,需支付1800元;由乙、丙两队承包,3+3/4天可以完成,需支付1500元;由甲、丙两队承包,2+6/7天可以完成,需支付1600元.在保证一星期内完成的前提下,选择哪个队单独承包费用最少? 甲乙合作一天完成1÷2.4=5/12,支付1800÷2.4=750元 乙丙合作一天完成1÷(3+3/4)=4/15,支付1500×4/15=400元 甲丙合作一天完成1÷(2+6/7)=7/20,支付1600×7/20=560元 三人合作一天完成(5/12+4/15+7/20)÷2=31/60, 三人合作一天支付(750+400+560)÷2=855元 甲单独做每天完成31/60-4/15=1/4,支付855-400=455元 乙单独做每天完成31/60-7/20=1/6,支付855-560=295元 1 / 6

c算法大全

一、数论算法 1.求两数的最大公约数 function gcd(a,b:integer):intege r; begin if b=0 then gcd:=a else gcd:=gcd (b,a mod b); end ; 2.求两数的最小公倍数 function lcm(a,b:intege r):integer; begin if a0 do inc(lcm,a); end; 3.素数的求法 A.小范围内判断一个数是否为质数:function prime (n: intege r): Boolean; v ar I: integer; begin for I:=2 to trunc(sqrt(n)) do if n mod I=0 then begin prime:=false; exit;

end; prime:=true; end; B.判断longint范围内的数是否为素数(包含求50000以内的素数表):procedure getprime; v ar i,j:longint; p:array[1..50000] of boolean; begin fillchar(p,sizeof(p),true); p[1]:=false; i:=2; w hile i<50000 do begin if p[i] then begin j:=i*2; w hile j<50000 do begin p[j]:=false; inc(j,i); end; end; inc(i); end; l:=0; for i:=1 to 50000 do

七年级应用题专项练习

七年级上册应用题专题讲解 一、列方程解应用题的一般步骤(解题思路) (1)审—审题:认真审题,弄清题意,找出能够表示本题含义的相等关系(找出等量关系). (2)设—设出未知数:根据提问,巧设未知数. (3)列—列出方程:设出未知数后,表示出有关的含字母的式子,然后利用已找出的等量关系列出方程. (4)解—解方程:解所列的方程,求出未知数的值. (5)答—检验,写答案:检验所求出的未知数的值是否是方程的解,是否符合实际,检验后写出答案.(注意带上单位) 二、各类题型解法分析 一元一次方程应用题归类汇集:行程问题,工程问题,和差倍分问题(生产、做工等各类问题),等积变形问题,调配问题,分配问题,配套问题,增长率问题,数字问题,方案设计与成本分析,古典数学,浓度问题等。 (一)和、差、倍、分问题——读题分析法 这类问题主要应搞清各量之间的关系,注意关键词语。仔细读题,找出表示相等关系的关键字,例如:“大,小,多,少,是,共,合,为,完成,增加,减少,配套……”,利用这些关键字列出文字等式,并且据题意设出未知数,最后利用题目中的量与量的关系填入代数式,得到方程. 1.倍数关系:通过关键词语“是几倍,增加几倍,增加到几倍,增加百分之几,增长率……”来体现。 2.多少关系:通过关键词语“多、少、和、差、不足、剩余……”来体现。 增长量=原有量×增长率现在量=原有量+增长量 例1.某单位今年为灾区捐款2万5千元,比去年的2倍还多1000元,去年该单位为灾区捐款多少元? 例2.旅行社的一辆汽车在第一次旅程中用去油箱里汽油的25%,第二次旅程中用去剩余汽油的40%,这样油箱中剩的汽油比两次所用的汽油少1公斤,求油箱里原有汽油多少公斤?

中考数学综合题专题【中考应用题】专题训练含答案

中考数学综合题专题【中考应用题】专题训练含答案列方程(组)解应用题是中考的必考内容,必是中考的热点考题之一,列方程(组)解应用题的关键与难点是如何找到能够表示题目全部含义的相等关系,所谓“能表示全部含义”就是指在相等关系中,题目所给出的全部条件(包括所求的量)都要给予充分利用,不能漏掉,但也不能把同一条件重复使用,应用题中的相等关系通常有两种,一种是通过题目的一些关键词语表现出来的明显的相等关系,如“多”、“少”、“增加”、“减少”、“快”、“慢”等,另一种是题目中没有明显给出而题意中又包含着的隐含相等关系,这也是中考的重点和难点,此时需全面深入的理解题意,结合日常生活常识和自然科学知识才能做到.解应用题的一般步骤: 解应用题的一般步骤可以归结为:“审、设、列、解、验、答”. 1、“审”是指读懂题目,弄清题意,明确题目中的已知量,未知量,以及它们之 间的关系,审题时也可以利用图示法,列表法来帮助理解题意. 2、“设”是指设元,也就是未知数.包括设直接未知数和设间接未知数以及设辅 助未知数(较难的题目). 3、“列”就是列方程,这是非常重要的关键步骤,一般先找出能够表达应用题全 部含义的一个相等关系,然后列代数式表示相等关系中的各个量,就得到含有未知数的等式,即方程. 4、“解”就是解方程,求出未知数的值. 5、“验”就是验解,即检验方程的解能否保证实际问题有意义. 6、“答”就是写出答案(包括单位名称). 应用题类型: 近年全国各地的中考题中涉及的应用题类型主要有:行程问题,工程问题,增产率问题,百分比浓度问题,和差倍分问题,与函数综合类问题,市场经济问题等.几种常见类型和等量关系如下: 1、行程问题: s . 基本量之间的关系:路程=速度×时间,即:vt 常见等量关系: (1)相遇问题:甲走的路程+乙走的路程=原来甲、乙相距的路程. (2)追及问题(设甲速度快): ①同时不同地: 甲用的时间=乙用的时间; 甲走的路程-乙走的路程=原来甲、乙相距的路程. ②同地不同时: 甲用的时间=乙用的时间-时间差; 甲走的路程=乙走的路程. 2、工程问题: 基本量之间的关系:工作量=工作效率×工作时间. 常见等量关系:甲的工作量+乙的工作量=甲、乙合作的工作总量. 3、增长率问题:

快速幂算法C语言版(超详细)

快速幂取模算法 在网站上一直没有找到有关于快速幂算法的一个详细的描述和解释,这里,我给出快速幂算法的完整解释,用的是C 语言,不同语言的读者只好换个位啦,毕竟读C 的人较多~ 所谓的快速幂,实际上是快速幂取模的缩写,简单的说,就是快速的求一个幂式的模(余)。在程序设计过程中,经常要去求一些大数对于某个数的余数,为了得到更快、计算范围更大的算法,产生了快速幂取模算法。我们先从简单的例子入手:求c a b mod = 几。 算法1.首先直接地来设计这个算法: int ans = 1; for (int i = 1;i<=b;i++) { ans = ans * a; } ans = ans % c; 这个算法的时间复杂度体现在for 循环中,为O (b ).这个算法存在着明显的问题,如果a 和b 过大,很容易就会溢出。 那么,我们先来看看第一个改进方案:在讲这个方案之前,要先有这样一个公式: c c a c a b b mod )mod (mod =.这个公式大家在离散数学或者数论当中应该学过,不过这里为了方便大家的阅读,还是给出证明: 引理1: c c b c a c de c de c dk te tkc c e kc d tc c ab e kc b e c b d tc a d c a c c b c a c ab mo d )]mod ()mod [(mod mod ))((mod ))((mod mod mod mod )]mod ()mod [(mod )(:2?==+++=++=+=?=+=?=?=证明: 公式 上面公式为下面公式的引理,即积的取余等于取余的积的取余。 c a c c a c c c a c c a c c a c a b b b b b b mo d mod ])mod [() (mod ])mod )mod [((mod ])mod [(mod )mod (mod ===由上面公式的迭代证明:公式: 证明了以上的公式以后,我们可以先让a 关于c 取余,这样可以大大减少a 的大小, 于是不用思考的进行了改进: 算法2: int ans = 1; a = a % c; //加上这一句 for (int i = 1;i<=b;i++) {

17分数百分数应用题 培优提高训练题精选

分数百分数应用题 培优提高训练题精选 1. 煤场有一批煤,运走总数的6 2.5%,又运进270吨,这时存煤 数恰好是原来的67 ,这个煤场原有煤多少吨? 2. 造纸厂1999年前7个月完成全年计划的75%,后5个月再 生产1800t 就可以超过计划300t,1999年计划生产多少吨? 3. 运输队去仓库运水泥,第一天运出总数的51 ,第二天运进水 泥36吨,这时仓库里的水泥是原来的87.5%,仓库里原有水泥多少吨? 4. 某机床厂,上半年完成全年生产任务的85 ,下半年完成全年任务的127 ,结果超产150台.原计划全年生产多少台机床? 5. 化肥厂计划第二季度生产化肥1200吨,4月份完成计划的 32%,5月份完成计划的36%,6月份再生产多少吨,能超额完成原计划的5%? 6. 一根绳子,截去20%以后,再接上6m,结果比原来的绳子长 1.5m,这根绳子原来长多少米? 7. 一列客车到达某站后,有41的旅客下车,又有300人上车,开 车时,车上旅客人数是到站前的109,这列客车到达站前车上有多少人? 8. 一段绳子长2米,先截去51,再接上51 米?现在的长度比原来 长还是短?相差多少米?

9. 化肥厂计划第二季度生产化肥1200吨,4月份完成计划的 32%,5月份完成计划的36%,6月份再生产多少吨,能超额完成原计划的5%? 10. 5吨大米,吃了53后,又运进53 吨,最后还有5吨大米? ( ) 11. 电视机厂计划五月份生产电视机5000台,实际上半月生产了计划的53,下半月生产了计划的107,这个月实际超额生产电视机多少台? 12. 一根铁丝用去全长的52 ,再接上13米,现在的铁丝比原来长41 ,用去的铁丝长多少米? 13. 一袋大米,吃去41 后,再加进20千克,这时袋里的大米比原 来大米多15%?这袋大米原有多少千克? 14. 一根电线截去41 后再接上12米,结果比原来长31?这根电 线原长多少米? 15. 冰箱厂去年计划生产冰箱50万台,实际上半年完成了计 划的35 ,下半年完成了计划的710 ?去年实际比计划超产多少万台? 16. 校办厂生产塑料盒,已经完成原计划的85%,如果再生产 3000个,就超过计划15%,原计划生产多少个?

分数应用题专项训练(经典)

分数应用题专项训练(1) 姓名: 班级: 家长签署: 一、看图列式 5 2“1” ( )米 50米 列式: (2) 5 2“1” ( )米 50 列式: (4) 5 2“1” 20米 ( )米 列式: (3) 5 2“1” 20米 ( )米 列式: (5) 5 2“1” 30米 ( )米 列式: (6) 5 2“1” 30 ( )米 列式: (7) 5 3“1” ( )米 50米 列式: (8) 5 3“1” 20米 ( )米 列式:

二、对比练习: 1、学校图书室原有故事书1400本, 新买故事书840本,新买故事书是原有故事书的几分之几? 2、学校图书室原有故事1400本,新买的故事书是原有故事书的4 3 ,新买故事书多少本? 3、学校图书室新买故事书840本,是原有故事书的4 3 。图书室原有故事书多少本? 三、解决问题: 1,一桶油100千克,用去40千克,用去几分之几? 2,一桶油100千克,用去5 2 ,用去多少千克? 3,一桶油用去40千克,占这桶油的5 2 ,这桶油原有多少千克? 4,一份文件3600字,张阿姨打了文件的3 2 ,还剩多少字没打? 5,小红共120元钱,买图书用去21,买画笔用去3 1 ,小红还剩多少钱? 6,两辆汽车,第一辆汽车坐36人,第二辆比第一辆少坐6 1 ,两辆车一共坐多少人? 7,某袜厂上半年生产棉袜54万双,下半年生产的棉袜的121相当于上半年的10 1 ,下半年生产棉袜多少万双?

分数应用题专项训练(2) 姓名: 班级: 家长签署: 一、先画出单位“1”的量,再将“比”的结构改成“是”的结构。 (1)五月份比四月份节约了 72 ,五月份是四月份的( )。 (2)八月份比七月份增产了53 ,八月份是七月份的( )。 (3)五年级比六年级人数少81 ,五年级人数是六年级的( )。 (4)今年产值比去年增加了6 5 ,今年产值是去年的( )。 (5)一件西服降价10 3 出售。现价是原价的( )。 二、练习提高: 1、学校建一座教学楼投资180万元,比计划节省了10 1 ,计划投资多少万元? 2、养鸡厂今年养鸡2400只,比去年增加了4 1 , 去年养鸡多少只? 3、一个饲养场养鸭1200只,养的鸡比养的鸭多4 1 ,养的鸡有多少只? 4、一条公路,已经修了全长的4 3 , 还有60千米没修, 这条公路有多少千米? 5,甲数是12。 (1)乙数比甲数多31,求乙数。 (2)乙数比甲数少3 1 ,求乙数。

数学应用题的综合训练

数学应用题的综合训练 数学应用题的综合训练 一、填写()的内容 1.表示两个比相等的式子叫做()。 2.0.32∶1.6化成最简单的整数比是(),比值是(),根据这个比 值组成一个比例式另一个比是(),比例式是()。 10和60,这个比例是()。 4.被减数是72,减数和差的比是4∶5,减数是() 5.因为a×b=c,当a一定时,b和c()比例。 当b一定时,a和c()比例。 当c一定时,a和b()比例。 6.用20的约数组成一个比例式是()。 一个外项是(),这个比例式是()。 应画()厘米。 9.在绘画时,要把实际距离缩小500倍,使用的比例尺应该是()。 二、分析判断(对的画√,错的画×) 1.一般地图上用的比例尺是缩小比例尺。() 2.圆的直径和它的面积成正比例。() 3.y=5x,x和y成反比例。() 4.数a与数b的比是5∶8,数a是75,数b是120。() )

三、分析选择。将正确答案的序号填在()里 1.甲乙两个圆半径的比是2∶1,那么甲和乙两个圆的面积的比是() 1)4∶1 2)2∶1 3)4∶2 2.把一个圆柱体加工成一个与它等底等高的圆锥体,圆柱的体积与去掉部分的体积的比是() 1)3∶1 2)3∶2 3)2∶3 3.在一个比例式中,两个比的比值都等于3,这个比例式可以是() 1)3∶1=1∶3 2)3∶1=0.3∶0.1 3)9∶3=3∶1 4.修一条路,已修的是未修的80%,已修的与未修的比是?() 1)80∶100 2)4∶5 3)10∶8 刘师傅现在与过去工作效率的比是() 2)1∶3 3)3∶1

四、观察分析 1.将下面的'等式改写成比例式。 1)10.2×9=1.8×51 3)51×7=17×21 4)62a=47b 2.认真观察下面每题的解是否正确?对的画√,错的改正过来。 1)15.6∶2.8=2.4∶x 五、说说下面各题的两种相关联的量是成正比例,还是成反比例。写出说理过程 1.小麦的重量一定,面粉和出粉率。 2.图上距离一定,比例尺和实际距离。 3.先判断,再填空。 3a=ba和b成()比例。 六、选择正确算式,并说出理由 1.一辆汽车从甲地开往乙地,每小时行驶28千米,4.5小时到达,要4小时到达,每小时要多行几千米? 1)28×4.5÷4-28 2)解:设每小时多行x千米。 28×4.5=(28+x)×4 3)解:设每小时多行x千米。 28×4.5=28×4+x 4)28-28×4.5÷4

常用数学算法C语言实现

一、基本算法 1.交换(两量交换借助第三者) 例1、任意读入两个整数,将二者的值交换后输出。 main() {int a,b,t; scanf("%d%d",&a,&b); printf("%d,%d\n",a,b); t=a; a=b; b=t; printf("%d,%d\n",a,b);} 【解析】程序中加粗部分为算法的核心,如同交换两个杯子里的饮料,必须借助第三个空杯子。 假设输入的值分别为3、7,则第一行输出为3,7;第二行输出为7,3。 其中t为中间变量,起到“空杯子”的作用。 注意:三句赋值语句赋值号左右的各量之间的关系! 【应用】 例2、任意读入三个整数,然后按从小到大的顺序输出。 main() {int a,b,c,t; scanf("%d%d%d",&a,&b,&c); /*以下两个if语句使得a中存放的数最小*/ if(a>b){ t=a; a=b; b=t; } if(a>c){ t=a; a=c; c=t; } /*以下if语句使得b中存放的数次小*/ if(b>c) { t=b; b=c; c=t; } printf("%d,%d,%d\n",a,b,c);} 2.累加 累加算法的要领是形如“s=s+A”的累加式,此式必须出现在循环中才能被反复执行,从而实现累加功能。“A”通常是有规律变化的表达式,s在进入循环前必须获得合适的初值,通常为0。例1、求1+2+3+……+100的和。 main() {int i,s; s=0; i=1; while(i<=100) {s=s+i; /*累加式*/ i=i+1; /*特殊的累加式*/ } printf("1+2+3+...+100=%d\n",s);} 【解析】程序中加粗部分为累加式的典型形式,赋值号左右都出现的变量称为累加器,其中“i = i + 1”为特殊的累加式,每次累加的值为1,这样的累加器又称为计数器。

(完整)五年级解方程应用题专题训练分类练习

五年级解方程应用题专题训练分类练习 一、购物问题: 1、食堂买了8千克黄瓜,付出15元,找回1.4元,每千克黄瓜是多少钱? 2、买4枝钢笔比买5枝圆珠笔要多花2.2元,每枝圆珠笔的价钱是0.6元,每枝钢笔是多少元? 3、明明家买了一套桌椅,6张椅子配一张桌子,一共用了1120元。如果一张餐桌730元,那么一把椅子多少元? 4、王老师带500元去买足球。买了12个足球后,还剩140元,每个足球多少元?

5、奶奶买4袋牛奶和2个面包,付给售货员20元,找回5.2元,每个面包5.4元,每袋牛奶多少元? 6、大瓜去买大米和面粉,每千克大米2.6元,每千克面粉2.3元,他买了20千克面粉和若干大米,共付款61.6元,买大米多少千克? 二、“谁是谁的几倍多(少)几”(形如ax±b=c的方程)问题: 1、有甲、乙两个书架.已知甲书架有540本书,比乙书架的3倍少30本.乙书架有多少本书? 2、甲、乙两人做零件.甲做了240个,比乙做的2倍还多40个.乙做了多少个?

3、培英小学有学生350人,比红星小学的学生的3倍少19人.红星小学有学生多少人? 4、水果店运来橘子340千克,比运来苹果的3倍少80千克.运来苹果多少千克? 5、一只鲸的体重比一只大象的体重的37.5倍多12吨.已知鲸的体重是162吨,大象的体重是多少吨? 6、某玩具厂九月份的产量比八月份产量的2.5倍还多500个.已知九月份的产量是3500个,八月份的产量是多少?

7、洗衣机厂今年每日生产洗衣机260台,比去年平均日产量的2.5倍少40台,去年平均日产洗衣机多少台? 8、某饲养场养鸡352只,比鸭的只数的4倍还多32只。养鸭多少只? 三、形如ax±bx=c的方程问题: 1、育新小学共有108人参加学校科技小组,其中男生人数是女生人数的1.4倍。参加科技小组的男、女生各有多少人? 2、体育比赛中参加跳绳的人数是踢毽子人数的3倍,已知踢毽子的人数比跳绳的人数少20人,跳绳、踢毽子各有多少人?

四年级数学上册应用题分类专项练习题,含答案解析

应用题专项练习题: 一、连除应用题: ①、玩具厂生产了960个电子玩具,每3个装一盒,每5盒装一箱,一共装了多少箱?(连除应用题)(64箱) ②、王辉爸爸买了3大盒茶叶,一共要付810元,平均每个大盒里有6 小盒茶叶,平均每小盒茶叶多少元?(连除应用题)(45元) ③、王老师要把156本图书放在2个书架上(每个书架有三层),平均每层放多少本图书?(此题除了用连除还可以先求出两个书架一共有多少层,再用总图书数量除以层数也可以求出平均每层放多少图书)(26本) 二、运输问题 (1)、有两堆煤,一堆560吨,另一堆286吨,一辆汽车每次能装运9吨。这辆车一共用多少次才能拉完这两堆煤?(除加混合运算应用题)(94次,像这类题目最好先求出总的吨数,然后再平均分,列综合算式时注意加括号)(94次) (2)、有一堆煤120吨,一辆大货车能载重8吨,一辆小货车能载重5吨,请问:①、如果2两小货车来运,多少次能把煤全部运完?(连除应用题)(12次) ②、先用一辆大货车运5次,余下的用一辆小货车来运,还需要多少次才能运完?(数量关系式:一辆大货车载重量×运的次数5次=一共运走的吨数,再用总的吨数-大货车5次运走的吨数=还剩的吨数,用剩余的吨数÷小货车的载重量5吨=次数)(16次) (3)有50只小羊要过河,现在只有一条船,且每次现载8只小羊,那么这些小羊至少要几次才能全部渡河?(像这样的有余数的运输问题,记得最后要加一,注意单位)(7次) 三、装箱问题: ①、960节电池,每8节装一盒,6盒装一箱。这些电池一共可以装多少箱? (连除,列综合算式最后单位是箱,如果列分步算式一定要注意单位的选用)(20箱) ②、中秋节快到了,糕点房将640个月饼,每4个装一盒,每4盒又装一箱,一共可以装多少箱?(连除,列综合算式最后单位是箱,如果列分步算式一定要注意单位的选用)(40箱) 四、分东西问题: 学校买回8箱皮球,每箱20个,平均分给5个班,每个班级分得多少个?(乘除混合运算应用题,先求出皮球总的个数,再进行平均分)(32个) 五、看书问题: ①、一本故事书172页,小红已经看了67页,剩下的打算一周看完,剩下的平均每天看多少页?(除减混合运算应用题,看书问题的数量关系——总页数=看了的页数+剩下没看的页数。看了的页数=天数×平均每天看的页数;这里用总页数-看了的页数=剩下的页数,剩下的页数÷天数一周7天=剩下的平均每天看的页数。)(15页) ②、小丽看一本329页的书,看了4天,还剩25页没看,平均每天看多少页?(数量关系:用总页数-剩下的页数=看了的页数,看了的页数÷天数4天=平均每天看的页数)(76页)③、小强从图书馆借一本320页的故事书。每天看15页,看了12天,还有多少页没有看?(数量关系:天数×每天看的页数=看了的页数,总页数-看了的页数=没有看的页数)(140页) 六、修路问题

小升初真题综合应用题专项练习180题(有答案)ok

小升初真题综合应用题专项练习180题(有答案) 1.(2013?阳谷县)小明从家到学校,步行需要35分钟,骑自行车只要10分钟.他骑自行车从家出发,行了8分钟自行车发生故障,即改步行,小明从家到学校共用了多少分钟? 2.(2013?郯城县)某车队运一堆煤,第一天运走这堆煤的,第二天比第一天多运30吨,这时已运走的煤与余下煤吨数比是7:5,这堆煤共有多少吨? 3.(2013?郯城县)有两个粮仓,已知甲仓装粮600吨,如果从甲仓调出粮食,从乙仓调出粮食75%后,这时甲仓的粮食比乙仓的2倍还多150吨,乙仓原有粮食多少吨? 4.(2013?蓬溪县模拟)耕一块地,第一天耕的比这块的多2亩,第二天耕的比剩下的少1亩.这时还剩下38 亩没有耕,则这块地有多少亩? 5.(2013?陆丰市)学校今年植树120棵,比去年的多6棵,去年植树多少棵? 6.(2013?陆丰市)甲乙两地相距60千米,汽车从甲地开往乙地,当汽车超过全程中点10千米时,还剩下全程的几分之几? 7.(2013?岚山区模拟)一列货车和一列客车同时从相距504千米的两地相对开出,小时相遇,客车每小时行64 千米,货车每小时行多少千米?(列方程解答) 8.(2013?岚山区模拟)学校把栽280棵树的任务,按照六年级三个班级的人数,分配给各班.已知一班47人,二班45人,三班48人.三个班各应栽树多少棵?

9.(2013?广州模拟)工程队计划20天挖一条800米的水渠,实际16天就完成了任务.工程队的实际工作效率比计划提高了百分之几? 10.(2013?涪城区)一项工程,甲、乙合作要12天完成,若甲先做3天后,再由乙工作8天,共完成这项工作的.若这件工作由乙独做完需要几天? 11.(2013?涪城区)一架民航班机在两城之间往返一次3.8小时,飞去的速度为每小时500千米,飞回的速度是每小时450千米,两城相距多少千米?(请利用所学知识,选择至少三种方法解答) 12.(2012?紫金县)在比例尺1:6000000的地图上,量得甲乙两地距离是9厘米,两列火车同时从甲乙两地相对开出,甲车每小时行57千米,乙车每小时行43千米,几小时后两车相遇? 13.(2012?宜良县)某校六年级有甲、乙两个班,甲班人数是乙班的.如果从乙班调3人到甲班,甲班人数是乙班人数的.甲、乙两班原来有多少人? 14.(2012?西峡县)小太阳服装厂生产一批儿童服装,计划每小时生产120套,25小时完成.实际每小时生产200套,实际多少小时完成? 15.(2012?西峡县)把450棵树苗分给一中队、二中队,使两个中队分得的树苗的比是4:5,每个中队各分到树苗多少棵? 16.(2012?武胜县)一个书架上层存放图书的本数比下层多30%,下层存放的图书比上层少15本,这个书架上、下两层一共存放图书多少本? 17.(2012?武胜县)甲、乙两仓库共存粮95 吨,现从甲仓库运出存粮的,从乙仓库运出存粮的40%,这时甲、 乙两仓库剩下的粮同样多,甲、乙两仓库原来各存粮多少吨?

蚁群算法c语言

蚁群算法(C语言实现) https://www.wendangku.net/doc/438473438.html,/s/blog_6bb1b4b001016pt0.html\ 这是我2012年第一个学期的期末大作业。 不得不说这段代码参考了网络上的一些代码,以及书本上的一些相关数据。 但是无论是网络上还是书上难免总是有很多C++的影子,这是我自己理解之后用C编写的蚁群算法的代码。 这几个城市的相关测试数据在CSDN上可以找到。 //蚁群算法关于简单的TSP问题求解// #include #include #include #include #include #define M 13 //蚂蚁的数量 #define N 144 //城市的数量 #define R 1000 //迭代次数 #define IN 1 //初始化的信息素的量 #define MAX 0x7fffffff //定义最大值 struct coordinate{ char city[15]; //城市名 int x; //城市相对横坐标

int y; //城市相对纵坐标 }coords[N]; double graph[N][N]; //储存城市之间的距离的邻接矩阵,自己到自己记作MAX double phe[N][N]; //每条路径上的信息素的量 double add[N][N]; //代表相应路径上的信息素的增量 double yita[N][N]; //启发函数,yita[i][j]=1/graph[i][j] int vis[M][N]; //标记已经走过的城市 int map[M][N]; //map[K][N]记录第K只蚂蚁走的路线 double solution[M]; //记录某次循环中每只蚂蚁走的路线的距离 int bestway[N]; //记录最近的那条路线 double bestsolution=MAX; int NcMax; //代表迭代次数,理论上迭代次数越多所求的解更接近最优解,最具有说服力double alpha,betra,rou,Q; void Initialize(); //信息初始化 void Inputcoords(FILE *fp); //将文件中的坐标信息读入 void GreateGraph(); //根据坐标信息建图 double Distance(int *p); //计算蚂蚁所走的路线的总长度 void Result(); //将结果保存到out.txt中 void Initialize() {

应用题练习

1.第一堆有17颗草莓,第二堆有15颗草莓,把它们装在4个盘子里。平均 每个盘子里装几个草莓? 2.小聪去超市买薯条,每袋2元,买6袋。如果小聪给营业员20元,应找回 多少元? 3.小华瞧一本82页的《童话故事》,已经瞧了26页。剩下的每天瞧7页, 还要几天才能瞧完? 4.有28个梨,最少拿走几个,就使得6个小朋友分得一样多? 5.小明:“我们5人买的团体票共花了45元。”笑笑说:“我们5人买的就 是个人票,每人10元。”谁买的便宜?每张票少花多少钱? 6.育才小学有男生356人,女生比男生4少人,女生有多少人?全校共有学 生多少人? 7.学校图书馆有故事书与漫画书共2000本,故事书借阅出216本,漫画书 借阅出297本。故事书与漫画书共借阅出多少本? 8.工人叔叔要修一条长100千米的公路,已经修64千米,剩下的每天修9 千米,还要修多少天才能完成任务? 9.1张彩纸可以做8个风车,要做54个风车,至少需要几张纸? 10.一个星期有7天,三月份有31天,三月份有多少个星期,还有几天? 11.王小家到学校有60米,一次上学走了8米又回家拿伞再到学校去,她这 一次走了多少米? 12.3只小鸡放进一个箱子里,有20只小鸡需要准备几个箱子? 13.小熊画了34张画,每个小伙伴分6张,可以分给几个小伙伴?还余下几 张? 14.有4个西瓜,每个西瓜切成9块,有40个同学分吃,每人一块,还差几块?

15.从北京到大连,火车票198元,爸爸带500元从北京到大连一个来回,还 剩多少钱? 16.学校有女生378人,男生比女生多91人,学校一共有多少学生? 17.自行车362元,录音机435元,爸爸有800元钱,买这两样东西够不? 18.一把伞18元,草莓4元一斤,妈妈带50元,先买一把雨伞后,剩余的钱全 部买草莓,可以买几斤? 19.学校里种了7行杨树,每行6棵。又种了8棵槐树。一共种了多少棵树? 20.原有学生1800人,今年毕业300人。若一年级又招收了400人,现在有 学生多少人? 21.故事书共82页,我每天瞧8页,一周后还剩几页呢? 22.松鼠一共采了17个松果。她们一天要吃6个松果,还要采多少个才够她 们吃4天的? 23.小明:我买5个面包花了30元。小亮:我买1个面包花了8元。谁买的 面包贵?贵多少钱? 24.一年级有2个班,每个班来了8人。二年级有3个班,每个班来了9人。 一共有多少人参加? 25.大猴吃了7个桃。小猴吃的桃就是大猴的3倍。她们一共吃了多少桃子? 26.1个书包19元钱,5本故事书40元钱,一个书包比一本故事书贵多少钱? 27.6个山楂串一串糖葫芦,我已经做了8串,还剩20个山楂。算一算,一共 有多少个山楂? 28.电影票成人票10元,学生票5元,一名老师与4名同学去瞧电影,共要多 少钱? 29.电视机549元,VCD 290元,手机786元,自行车355元,台灯62元。

应用题专项训练

应用题专项训练 ----统计类、方程,不等式(组)类、函数类、几何类12.13 例1. (2014年江苏镇江2分)一辆货车从甲地匀速驶往乙地,到达后用了半小时卸货,随即匀速返回,已知货车返回的速度是它从甲地驶往乙地的速度的1.5倍.货车离甲地的距离y(千米)关于时间x(小时)的函数图象如图所示.则a= (小时). 例2.(2014?资阳市,第22题,9分)某商家计划从厂家采购空调和冰箱两种产品共20台,空调的采购单价y1(元/台)与采购数量x1(台)满足y1=﹣20x1+1500(0<x1≤20,x1为整数);冰箱的采购单价y2(元/台)与采购数量x2(台)满足y2=﹣10x2+1300(0<x2≤20,x2为整数). (1)经商家与厂家协商,采购空调的数量不少于冰箱数量的,且空调采购单价不低于1200元,问该商家共有几种进货方案? (2)该商家分别以1760元/台和1700元/台的销售单价售出空调和冰箱,且全部售完.在(1)的条件下,问采购空调多少台时总利润最大?并求最大利润.

课堂训练: 1.李大伯承包了一个果园,种植了100棵樱桃树,今年已进入收获期.收获时,从中任选并采摘了10棵树的樱桃,分别称得每棵树所产樱桃的质量如下表: 序号 1 2 3 4 5 6 7 8 9 10 质量(千克)14 21 27 17 18 20 19 23 19 22 据调查,市场上今年樱桃的批发价格为每千克15元.用所学的统计知识估计今年此果园樱桃的总产量与按批发价格销售樱桃所得的总收入分别为【】 A、200千克,3000元 B、1900千克,28500元 C、2000千克,30000元 D、1850千克,27750元 2.某学校在开展“节约每一滴水”的活动中,从初三年级的240名同学中任选出20名同学汇报了各自家庭一个月的节水情况,将有关数据整理如下表: 节水量(单位:吨) 1 1.2 1.5 2 2.5 同学数 4 5 6 3 2 用所学的统计知识估计这240名同学的家庭一个月节约用水的总量大约是【】 A、240吨 B、300吨 C、360吨 D、600吨 3. 如图,B、C是河岸边两点,A是对岸岸边一点,测得∠ABC=450,∠ACB=450, BC=60米,则点A到岸边BC的距离是米。 4. 列方程或方程组解应用题: 在社会实践活动中,某校甲、乙、丙三位同学一同调查了高峰时段北京的二环路、三环路、四环路的车流量(每小时通过观测点的汽车车辆数),三位同学汇报高峰时段的车流量情况如下: 甲同学说:“二环路车流量为每小时10000辆”; 乙同学说:“四环路比三环路车流量每小时多2000辆”; 丙同学说:“三环路车流量的3倍与四环路车流量的差是二环路车流量的2倍”。 请你根据他们所提供的信息,求出高峰时段三环路、四环路的车流量各是多少。

专题四综合应用题

专题综合应用题 类型一力学综合应用题 1、如图甲所示的地面清洁机器人,质量为3 kg,要求对水 平地面压强不超过3000 Pa,机器人在水平地面运动时,所受推 力与速度关系如图乙所示.(g取10 N/kg)求: (1)该机器人与水平地面的接触面积至少多少m2? (2)该机器人所提供的水平推力为300 N时,匀速直线运动2 s 能通过多远路程?此时水平推力做了多少功? (3)该机器人在水平地面上以0.5 m/s速度匀速直线运动时,水平 推力的功率是多大? 2、如图所示,将边长为10 cm的正方体合金块,用细绳挂在 轻质杠杆的A点处,在B点施加力F1=30 N时,杠杆在水平位置 平衡,合金块对水平地面的压强恰好为0.撤去F1,B点施加力F2 时,合金块对地面的压强为1.2×103 Pa.(OB=3OA,g取10 N/kg) (1)画出F2的力臂;(2)求合金块的质量;(3)求F2的大小. 3、某工人用如图所示的装置把一重为1200 N的箱子从斜面底端匀速拉到顶端用时10 s,已知斜面长6 m,高2 m,此装置的机械率为80%(滑轮重、绳重、滑轮与绳之间的摩擦均不计).求: (1)拉力F;(2)拉力F做功的功率;(3)箱子和斜面间的摩擦力. 4、体重为600 N的小聪用如图所示的滑轮组来竖直提升物体A.当A以0.1 m/s的速度匀速上升时,小聪对绳子的拉力F为400 N,滑轮组的机械效率为 80%(不计摩擦及绳重).求: (1)拉力F的功率;(2)物体A受到的重力; (3)小聪拉动绳子前后对地面的压强之比; (4)小聪使用该滑轮组能提起物体的最大重力. 5、如图所示,质量不计的轻板AB可绕转轴O在竖直面内转动,OA=0.4 m,OB=1.6 m.地面上质量为15 kg、横截面积为0.3 m2的圆柱体通过绳子与A端相连.现有大小不计、重为50 N 的物体在水平拉力F=10 N的作用下,以速度v=0.2 m/s从O点沿板面向右作匀速直线运动.g 取10 N/kg.求: (1)物体开始运动前,圆柱体对地面的压强; (2)物体在板面上运动的时间; (3)物体在板面上运动过程中,拉力F做的功及功率. 6、如图所示,放在水平桌面上的薄壁圆柱形容器重6 N,底面积100 cm2,弹簧测力计的挂钩上挂有重为27 N的金属块,现将金属块浸没在水中,容器内水面由20 cm上升到30 cm(g取10 N/kg,ρ水=1.0×103 kg/m3).求: (1)金属块未放入水中时(如图甲),容器底部受到的水的压强;金属 块浸没在水中静止后弹簧测力计的示数; (2)金属块浸没在水中(未与底部接触,如图乙),容器对桌面的压强. 7、如图所示,工人将一底面积为0.06 m2,高为2 m,密度为2.0×103 kg/m3 的圆柱形实心物体从水下匀速提升1 m,当物体未露出水面时,(g取10 N/kg) 求: (1)此时,物体受到的浮力. (2)若不计绳与轮间摩擦及滑轮自重,工人对绳的拉力大小是多少? (3)若工人对绳的拉力为400 N,使物体匀速上升,此装置的机械效率是多少? 8、一带阀门的圆柱形容器,底面积是200 cm2,装有12 cm深的水,正 方体M边长为10 cm,重20 N,用细绳悬挂放入水中,有 1 5的体积露出水面, 如图所示.求: (1)正方体M的密度; (2)正方体M受到的浮力以及此时水对容器底部的压强; (3)若从图示状态开始,通过阀门K缓慢放水,当容器中水面下降了2 cm 时,细绳刚好被拉断,则细绳能承受的最大拉力是多少?(g取10 N/kg). 类型二电学综合运用题 1、创建生态文明城市需要我们共同关注环境,我市某兴趣小组为了检测空气质量的指数,设计了如图甲所示的检测电路.R为气敏电阻,其电阻的倒数与空气质量指数的关系如图乙所示,已知电源电压12 V保持不变,R0=5 Ω,当电压表示数为4 V时,求:

Dijkstra算法C代码

#include "stdio.h" #include "stdlib.h" #define M 10000 int dist[M] = {0},fa[M] = {0},visit[M] = {0}; int g[M][M] = {0}; int n,start,end; int findmin(){ int i,flag; int min = 987654321; for( i = 1 ; i<= n ; i++ ) if( visit[i] == 0 && dist[i] < min && dist[i] != 0){ min = dist[i]; flag = i; } return flag; } int Dijkstra(){ int i,j,pos; for( i = 1 ; i <= n ; i++ ){ dist[i] = g[start][i]; if( dist[i] == 123456789 ) fa[i] = i;

else fa[i] = start; } visit[start] = 1; for( i = 1 ; i <= n ; i++ ){ pos = 0; pos = findmin(); if(pos == 0) break; visit[pos] = 1; for( j = 1 ; j <= n ; j++ ) if( visit[j] == 0 && dist[j] > dist[pos] + g[pos][j] ){ dist[j] = dist[pos] + g[pos][j]; fa[j] = pos; } } } int main(){ int i,j; int p; scanf("%d%d%d",&n,&start,&end); for( i = 1 ; i <= n ; i++ )

相关文档
相关文档 最新文档