#include
using namespace std;
int sum(int m,int n){
int ans = 0;
for(int i=m;i<=n;i++){
ans += i;
}
return ans;
}
int main(){
int m,n;
scanf("%d%d",&m,&n);
int ans = 0;
ans = sum(m,n);
printf("sum = %d\n",ans);
return 0;
}
int max( int a, int b ){
if(a >= b) return a;
else return b;
}
void CharPyramid( int n, char ch ){
for(int i=1;i<=n;i++){
for(int j=i;j<=n-1;j++) printf(" ");
for(int k=1;k<=i;k++) printf("%c ",ch);
printf("\n");
}
}
int sign( int x ){
if(x > 0) return 1;
else if(x == 0) return 0;
else return -1;
}
int even( int n ){
if(n % 2 == 0) return 1;
else return 0;
}
int OddSum( int List[], int N ){
int ans = 0;
for(int i=0;i
double dist( double x1, double y1, double x2, double y2 ){
double ans = 0;
ans = sqrt(pow(x2-x1),2) + pow(y2-y1),2));
return ans;
}
注意一些特殊情况,比如题目中说整数,那么可能出现负数,要考虑到这种情况
素数定理: 对于一个正实数x,小于x的素数个数略大于x/lnx
哥德巴赫猜想:每个大于等于6的正偶数可以被分解为两个素数之和
0和1既不是素数也不是合数
素数判断
bool prime(int x){
if(x <= 1) return false;
if((x%2 == 0) && (x != 2)) return false;
for(int i=3;i<=sqrt(x);i+=2){
if(x % i == 0)
return false;
}
return true;
}
int prime( int p ){
if(p <= 1) return 0;
if((p%2 == 0) && p != 2) return 0;
for(int i=3;i<=sqrt(p);i+=2){
if(p % i == 0) return 0;
}
return 1;
}
int PrimeSum( int m, int n ){
int ans = 0;
for(int i=m;i<=n;i++){
if(prime(i) == 1) ans += i;
}
return ans;
}
注意一些特殊情况,比如题目中说整数,那么可能出现负数!
int CountDigit( int number, int digit ){
int cnt = 0;
int tmp = 0;
if(number < 0) number = (-1)*number; // 可能出现负数
if(number == 0){
if(digit == 0) cnt = 1;
else cnt = 0;
}
while(number != 0){
tmp = number % 10;
if(tmp == digit) cnt++;
number /= 10;
}
return cnt;
}
int narcissistic( int number ){
int sum = 0;
int tmp = 0;
int temp = number; // 注意这里!直接用number的话,number最后等于0,比较没有意义
while(temp != 0){
tmp = temp % 10;
sum += pow(tmp,3);
temp /= 10;
//printf("%d\n",tmp);
//printf("%d\n",sum);
}
if(number == sum) return 1;
return 0;
}
void PrintN( int m, int n ){
for(int i=m+1;i
double funcos( double e, double x ){
int fact[21] = {1,1}; // 初始化为1
for(int i=2;i<20;i++){ // 求阶乘
fact[i] = i*fact[i-1];
//printf("%d ",fact[i]);
}
double sum = 1; // 第一项为1
int flag = -1; // 设置标志位用于判断当前符号的正负
for(int i=2;;i+=2){ // 从第二项开始
double temp = 1.0*flag*pow(x,i)/fact[i]; // 求泰勒公式每一项
sum += temp;
flag = -flag;
if(fabs(temp) < e) break; // 最后一项小于e,需要加到sum中然后再退出
}
return sum;
}
void hollowPyramid ( int n ){
int l = 1;
for(int i=1;i<=n-1;i++) printf(" "); // 第一行n-1个空格
printf("1\n");
for(int i=2;i<=n-1;i++){ // 从第二行开始
for(int j=n-i;j>=1;j--) printf(" "); // 每行n-i个空格
printf("%d",i);
for(int j=1;j<=l;j++) printf(" ");
printf("%d",i);
l += 2; // 每次多两个空格
printf("\n");
}
for(int i=1;i<=l+2;i++) printf("%d",n); // 最后一行全是n
}
strlen的头文件:#include
void StringCount( char s[] ){
int len = strlen(s);
int letter = 0,blank = 0,digit = 0,other = 0;
for(int i=0;i= 'a' && s[i] <= 'z') || (s[i] >= 'A' && s[i] <= 'Z')) letter++;
else if(s[i] == ' ' || s[i] == '\n') blank++;
else if(s[i] >= '0' && s[i] <= '9') digit++;
else other++;
}
printf("letter = %d,bleak = %d,digit = %d,other = %d\n",letter,blank,digit,other);
}