#pragmawarning(disable:4996)#include<stdio.h>intmain(){int M, N,i,k,h=0,sum=0;scanf("%d %d",&M,&N);for(i = M; i <= N; i++){for(k =2; k <= i; k++){if(i % k ==0)break;}if(i == k){
sum += i;
h++;}}printf("%d %d",h,sum);return0;}
#include<stdio.h>intmain(){int M, N,i;scanf("%d %d",&M,&N);int gcd, lcm;for(i =1; i <= M && i <= N; i++){if(M % i ==0&& N % i ==0){
gcd = i;}}
lcm = M * N / gcd;//求出最小公倍数printf("%d %d", gcd, lcm);return0;}
//pow计算效率过低需要自己写个pow函数,加快计算速率避免超时。可以看看快速幂计算。#pragmawarning(disable:4996)#include<stdio.h>#include<math.h>longintpow1(int a,int b){int i = b;int sum =1;while(i--){
sum = sum * a;}return sum;}intmain(){int n, i;scanf("%d",&n);for(i =pow1(10, n -1); i <pow1(10, n); i++){int temp = i, sum =0;while(temp !=0)//这个while的意思是:首先取范围内的数字temp{
sum +=pow1(temp %10, n);//然后获取temp的个位数(取模10是得到个位),之后计算他(那个个位)的n次方。
temp /=10;//把个位去掉,所有位数降低一位。}if(sum == i){printf("%d\n", i);}}return0;}
#pragmawarning(disable:4996)#include<stdio.h>intmain(){int n, son =0, male =0, female =0, count =0, sum_male =0;scanf("%d",&n);int max_male = n /5;for(male =0; male <= max_male; male++){int m1 = n - male *5;int max_female = m1 /3;for(female =0; female <= max_female; female++){int m2 = m1 - female *3;int max_son = m2 *3;for(son =0; son <= max_son; son+=3){if((male + female + son)== n&&(5*male+3*female+son/3)==n){
count++;
sum_male += male;}}}}if(count ==0)printf("0 -1\n");elseprintf("%d %d\n", count, sum_male);return0;}//和抛硬币很像,方法一模一样
7-15 被7或17整除的偶数和
#pragmawarning(disable:4996)#include<stdio.h>intmain(){int n =0, sum =0,i;for(i =14; i <300; i +=2){if(i %7==0|| i %17==0){
sum += i;printf("%6d", i);
n++;}if(n /5==1){printf("\n");
n=0;}}printf("\nsum=%d",sum);return0;}