目录
求2个数的最大公约数
a | b | t |
16 | 12 | |
16 | 12 | 4 |
12 | 4 | 0 |
4 | 0 | 0 |
#include <stdio.h>
int main()
{
int a,b;
int t;
scanf("%d %d", &a, &b);
int origa = a;//原来的AB
int origb = b;
while ( b != 0 ) {
t = a%b;
a = b;
b = t;
}
printf("%d和%d的最大公约数是%d.\n", origa, origb, a);
return 0;
}
//联想到了两数交换
/*
a=b-a; 被减 = X - 被减
b=b-a;
a=a+b;
*/
变量三巨头:x、y、z;i、j、k。i来自index,j,k续i 后。
求符合给定条件的整数集
自写码(for循环)
#include<stdio.h>
int main()
{
int A,x,y,z;
printf("请输入A\n");
scanf("%d",&A); //输入A
int num=0; //一行5个数计数
for(x=A;x<=A+3;x++){
for(y=A;y<=A+3;y++){
for(z=A;z<=A+3;z++){
if(x!=y&&x!=z&&y!=z){
printf("%d%d%d ",x,y,z);
num+=1;
if(num==6){
printf("\n");
num=0;
}
}
}
}
}
return 0;
}
老师的
#include<stdio.h>
int main()
{
int a;
scanf("%d",&a); //输入a
int i,j,k;
int cnt=0; //cnt计数,咱也不知道cnt是啥的缩写..可能是 count?
i=a;
while(i<=a+3){
j=a;
while(j<=a+3){
k=a;
while(k<=a+3){
if(i!=j&&i!=k&&j!=k){
cnt++;
printf("%d%d%d",i,j,k);
if(cnt==6){
printf("\n");
cnt=0;
}else{
printf(" ");//else我没想到。
}
}
k++;
}
j++;
}
i++;
}
return 0;
}
统计素数求和
#include<stdio.h>
int main()
{
int n,m;//要求输入的两个数
int i; //循环用
int cnt=0;//计数
int sum=0;//和
scanf("%d %d",&m,&n); //基础我还能错..scanf("", )少加逗号
if(m==1)
m=2;//1不是素数,从二开始不影响
for(i=m;i<=n;i++){
int k;//下面的循环用
int isPrime=1; //假定为素数
for(k=2;k<i-1;k++){
if(i%k==0) {
isPrime=0;//除尽,不是素数
break;
}
}
if(isPrime==1){
cnt++;
sum+=i;
}
}
printf("%d %d\n",cnt,sum);
return 0;
}