公约公倍
#include<stdio.h>
#include<math.h>
int gcd (int m,int n)
{
int r,temp;
if(m<n){
temp=m;
m=n;
n=temp;
}
r=m%n;
while(r!=0){
m=n;
n=r;
r=m%n;
}
return n;
}
int lcm(int m,int n)
{
int a=1;
while(a%m!=0||a%n!=0){
a++;
}
return a;
}
int main()
{
int m,n;
scanf("%d %d",&m,&n);
printf("%d %d",gcd(m,n),lcm(m,n));
return 0;
}
使用函数求素数和
#include<stdio.h>
#include<math.h>
int prime(int p)
{
if(p==1) return 0;
if(p==2) return 1;
else{
for(int j=2;j<=sqrt(p)+1;j++){
if(p%j==0) return 0;
}
return 1;
}
}
int prime_sum(int m,int n)
{
int sum=0;
for(int k=m;k<=n;k++){
if(prime(k)==1){
sum=sum+k;
}
}
return sum;
}
int main()
{
int m,n;
scanf("%d %d",&m,&n);
printf("Sum of ( ");
for(int i=m;i<=n;i++){
if(prime(i)==1){
printf("%d ",i);
}
}
printf(") = %d",prime_sum(m,n));
return 0;
}
使用函数求余弦函数的近似值
#include<stdio.h>
#include<math.h>
double funcos(double eps,double x)
{
int flag=1,mi=0,jc=1;
double cos=0,item;
do{
for(int i=1;i<=mi;i++){
jc=jc*i;
}
item=pow(x,mi)/jc;
cos=cos+flag*item;
flag=flag*(-1);
mi+=2;
jc=1;
}while(fabs(item)>=eps);
return cos;
}
int main()
{
double x,eps;
scanf("%lf %lf",&eps,&x);
printf("cos(%.2lf) = %.6lf",x,funcos(eps,x));
return 0;
}
使用函数统计指定数字的个数
#include<stdio.h>
#include<math.h>
int countdigit (int number,int digit)
{
int a=0,count=0;
do{
a=fabs(number%10);
number=number/10;
if(a==digit){
count++;
}
}while(number!=0);
return count;
}
int main()
{
int number,digit;
scanf("%d %d",&number,&digit);
printf("Number of digit %d in %d: %d",digit,number,countdigit(number,digit));
return 0;
}
空心的数字金字塔
#include<stdio.h>
#include<math.h>
int hollow(int n)
{
int count=1;
for(int i=1;i<=n;i++){
for(int j=1;j<=n-count;j++){
printf(" ");
}
if(i==1){
printf("1");
}
else if(i==n){
for(int l=1;l<=2*n-1;l++){
printf("%d",n);
}
}
else{
printf("%d",i);
for(int k=1;k<=(2*i-3);k++){
printf(" ");
}
printf("%d",i);
}
printf("\n");
count++;
}
}
int main()
{
int n;
scanf("%d",&n);
hollow(n);
return 0;
}
判断给定的两个数是否是亲和数
#include<stdio.h>
#include<math.h>
int qhs(int a, int b)
{
int suma=0,sumb=0;
for(int i=1;i<=a/2;i++){
if(a%i==0){
suma=suma+i;
}
}
for(int j=1;j<=b/2;j++){
if(b%j==0){
sumb=sumb+j;
}
}
if(a==sumb&&b==suma&&a!=b){
return 1;
}
else return 0;
}
int main()
{
int t,a,b;
scanf("%d",&t);
for(int k=1;k<=t;k++){
scanf("%d %d",&a,&b);
if(qhs(a,b)==1){
printf("YES\n");
}
else if(qhs(a,b)==0){
printf("NO\n");
}
}
return 0;
}