文档介绍:第一部分 简单应用题(常用算法)
希望阅读上学期上机实验手册 中“常用算法总结”部分。
素数(质数) 算法总结3
编一个函数用于判断一个数是否是质数(素数)。
int isprime2(int x)
{
int k, i;
k=sqrt(x);
for(i=2; i<=k; i++) /* i<=k 可改写为 i<=x/2 */
if(x%i==0) return(0);
return(1);
}
函数fun(int n) 完成的功能是将n分解为质数的积的形式。如 90=2×3×3×5。简54题讲
因子
函数fun(int n)计算所有n的因子(是约数,包括1但不包括自身)之和
int fun(int n)
{
int sum=0;
for( int i=1; i<n; i++ )
if(n%i==0)
sum+=n;
return sum;
}
一个数恰好等于它的所有因子(不包括自身)之和,这个数就称为“完数”,例如6=1+2+3。编程找出1000以内的所有完数。
void main( )
{
for( int i=1; i<1000; i++ )
if( i==fun(i) )
cout<<i<<endl;
}
函数fun(int m, int n) 判定两个数是否是亲和数。亲和数的定义:如果n的所有因子之和(因子除掉自身)等于m。m的所有因子之和等于n,则判定m、n是互为亲和数。
求出x的所有约数,并调用函数写入文件中。
void f(int x)
{
for(int i=1; i<=x; i++)
if(x%i==0)
WriteFile(i); //题目本身给出的函数用于输出
}
公约数、公倍数 算法总结5
求两个数的最大公约数和最小公倍数。
多项式求和 算法总结2
求sum(n) = 1! + 2! + 3! +…+ n!
求Sn=1+1/1!+1/2!+1/3!+1/4!+ … +1/n!
函数int fun(int number)返回
Sn = 1/1 + 1/2 + 1/3 +…+ 1/number
函数fun(int n)计算在n范围内,能被7或11整除的所有整数的倒数和。
请编写函数fun(),其功能是计算并输出当x<,直到∣Sn-Sn-1∣<。
Sn=1++(-1) x2/2! +(-1)(-2) x3/3! + … (-1)(-2)…(-n+1) xn/ n!
其他基本算法,输出格式控制等
函数int fun(int y, int m, int d)计算并返回某年某月某日是当年的第几天。(特殊情况:若是闰年且月份大于3,则加一天)。
编一个函数用于判断一个年份是否是闰年。简37题讲
请编写一个函数 printdate(int year, int month, int day),该函数实现将输入的3个数字转换成英语数字纪年输出的功能,如输入1978 3 9,则输出 March 9, 1978。
金牌第40题讲解
函数 bool fun(int i, int j, int k)判断三个长度是否构成三角形。
根据n的大小,输出由*组成的图形,如n=5,输出:
* * *
** ** ***
*** *** *****
**** **** ***
***** ***** * 打印程序
输出9×9口诀,涉及输出格式的控制。
函数 int fun(int data, int m, int n)返回dada的二进制中m位与n位之间的数据。 涉及位运算
例如:data=1258965 m=13 n=4
则data的二进制为:
0000 0000 0001 0011 0011 0101 1101 0101
应返回:0000 0000 0000 0000 0000 0101 1101 00