目录
完数
//完数
//一个数恰好等于它的因子之和,称为完数,比如6的因子是1、2、3,6=1+2+3,6为完数
//编程找出1000以内的所有完数
#include<bits/stdc++.h>
using namespace std;
int main(){
int s,i,j;//s记录因子的和
for(i=2;i<=1000;i++){
s=0;//每次都要将s置为0
for( j=1;j<i;j++){//j<i 被除数<除数
if(i%j==0){
s=s+j;
}
}
if(s==i) cout<<i<<" ";//如果它的因子的和=它本身
}
return 0;
}
最大公约数和最小公倍数
//输入两个正整数m和n,求其最大公约数和最小公倍数
//最大公约数:能够被m和n整除的最大的那个约数
//最小公倍数:m和n的公有的倍数中最小的那个
//求最大公约数:①辗转相除法 |m%n=c|若c==0,则n为最大公约数|若c!=0,则m=n,n=c再去执行第一步
//举例:m=8,n=12;|8%12=8,8!=0,m=12,n=8|12%8=4,4!=0,m=8,n=4|8%4=0,4为最大公约数
//求最小公倍数:两数的乘积/最大公约数
//举例:8*12/4=24,24为最小公倍数
#include<bits/stdc++.h>
using namespace std;
int main(){
int m,n;
cin>>m>>n;
int c=m%n;
int d=m*n;//把初始的m*n保存下来
while(c!=0){
m=n;
n=c;
c=m%n;
}
cout<<"最大公约数为:"<<n<<endl;
cout<<"最小公倍数为:"<<d/n<<endl;
return 0;
}
求1-20阶乘的和
//求1~20阶乘的和
#include<bits/stdc++.h>
using namespace std;
int main(){
float sum=0,n=1;
for(int i=1;i<=20;i++){
n=n*i;
sum=sum+n;
}
cout<<sum<<endl;
return 0;
}
求Π的近似值
//求Π的近似值
//Π/4≈1 - 1/3 + 1/5 - 1/7 +...直到最后一项的绝对值小于10的-7次方为止
//绝对值:fabs()
#include<bits/stdc++.h>
using namespace std;
int main(){
double a=1,b=1,t=1;//分子、分母、分子/分母
double pi=0;
while(fabs(t)>1e-7){
pi=pi+t;
a=-a;
b=b+2;
t=a/b;
}
pi=pi*4;
cout<<pi<<endl;
return 0;
}
加密大小写字母
//加密密码
//I am going to Beijing!123
//M eq ksmrk xs Fimnmrk!123
//把大写字母和小写字母变成它之后的四个字母 其他字符不变
//if c是大写字母或者小写字母 c=c+4;if c>'Z'&&c<='Z'+4 或者c>'z' c=c-26;
#include <bits/stdc++.h>
using namespace std;
int main(){
char c;
while((c=getchar())!='\n'){//读入字符
if((c>='A'&&c<='Z')||(c>='a'&&c<='z')){
c=c+4;
if((c>'Z'&&c<='Z'+4)||(c>'z')){
c=c-26;
}
}
cout<<c;
}
cout<<endl;
return 0;
}
判断闰年
//判断闰年
//能被4整除 不能被100整除
//能被400整除
#include<bits/stdc++.h>
using namespace std;
int main(){
int year;
cin>>year;
if((year%4==0&&year%100!=0)||(year%400==0)){
cout<<year<<"年是闰年"<<endl;
}else{
cout<<year<<"年不是闰年"<<endl;
}
return 0;
}
求三角形的面积 海伦公式
//求三角形的面积 海伦公式
//要先判断是否是三角形
#include<bits/stdc++.h>
using namespace std;
int main(){
float a,b,c;//输入三角形的三边长
cin>>a>>b>>c;
if(a+b>c&&b+c>a&&a+c>b){
float p=(a+b+c)/2;
float s;//面积
s=sqrt(p*(p-a)*(p-b)*(p-c));
cout<<"面积为:"<<s<<endl;
}else{
cout<<"请重新输入"<<endl;
}
return 0;
}
求一元二次方程的根
//求一元二次方程的根 sqrt是开根号
#include<bits/stdc++.h>
using namespace std;
int main(){
float a,b,c,x1,x2;
cin>>a>>b>>c;
x1=(-b+sqrt(b*b-4*a*c))/(2*a);
x2=(-b-sqrt(b*b-4*a*c))/(2*a);
cout<<"x1="<<x1<<endl;
cout<<"x2="<<x2<<endl;
return 0;
}