一、求1~n个连续整数的和
(方法一:)逐个累加
#include<stdio.h>
int main(){
int n,sum=0;
printf("请输入数字:");
scanf("%d\n",&n);
for(int j=1;j<=n;j++)
sum+=j;
return 0;
}
(方法二:)高斯法
#include<stdio.h>
int main(){
int n;
printf("请输入数字:");
scanf("%d\n",&n);
int sum=n*(n+1)/2
return 0;
}
二、求基本算法
#include<stdio.h>
#include<math.h>
int main(){
int n;
printf("请输入数字:");
scanf("%d\n",&n);
double n1=log(n);
double n2=sqrt(n);
int n3=n;
double n4=n3*n1;
int n5=n3*n3;
int n6=n5*n3;
int n7=pow(2,n);
int n8=1;
for(int j=1;j<=n;j++)
n8*=j;
printf("%f\t%f\t%d\t%f\t%d\t%d\t%d\t%d\n",n1,n2,n3,n4,n5,n6,n7,n8);
return 0;
}
三、求素数的个数
#include<stdio.h>
#include<math.h>
int main(){
int n;
printf("请输入数字:");
scanf("%d\n",&n);
int count=0;
for(int j=2;j<=n;j++){
bool flag=true;
for(int i=2;i<=sqrt(j);i++)
if(j%i==0)
{
flag=false;
break;
}
if(flag){
count++;
printf("素数为:%d\t",j);
}
}
printf("素数的个数为:%d\n",count);
return 0;
}
四、求阶乘
#include<stdio.h>
int fun(int n){
if(n==1) return 1;
else return n*fun(n-1);
}
int main(){
int n;
printf("请输入数字:");
scanf("%d\n",&n);
int sum=0;
for(int j=1;j<=n;j++)
{
sum+=fun(j);
printf("fun:%d\t",fun(j));
}
printf("和为:%d\n",sum);
return 0;
}
