循环的例子
求和
import java.util.Scanner;
public class WhileDemo06{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int n = in.nextInt();
double sum = 0.0;
for( i=1; i<=n; i++)
{
sum += 1.0/i;
}
System.out.println(sum); //5.187377517639621
System.out.printf("%.2f",sum); //5.19 (四舍五入)
}
}
import java.util.Scanner;
public class WhileDemo06{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int n = in.nextInt();
double sum = 0.0;
int sign = 1;
for( i=1; i<=n; i++)
{
sum += sign*1.0/i;
sign = -sign;
}
System.out.println(sum); //5.187377517639621
System.out.printf("%.2f",sum); //5.19 (四舍五入)
}
}
或者
package Mooc.operator;
import java.util.Scanner;
public class WhileDemo07 {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int n = in.nextInt();
double sum = 0.0;
for( int i = 1; i<=n; i++)
{
if(i%2 ==1)
{
sum += 1.0/i;
}
else
{
sum -= 1.0/i;
}
}
System.out.println(sum);
System.out.printf("%.2f",sum);
}
}
求最大公约数
-
输入两个数a和b,输出它们的最大公约数
-
输入:12 18
-
输入:6
import java.util.Scanner;
public class WhileDemo01 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int a = in.nextInt();
int b = in.nextInt();
int gcd = 1;
for( int i=2; i<=a && i<= b; i++)
{
if(a%i == 0 && b%i == 0)
{
gcd = i;
}
}
System.out.println(a+"和"+b+"最大公约数是"+gcd);
}
}
枚举
或者
package Mooc.循环的例子;
import java.util.Scanner;
public class WhileDemo02 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int a = in.nextInt();
int b = in.nextInt();
int oa = a;
int ob = b;
while (b != 0)
{
int r = a % b;
System.out.println(a+","+b+","+r) //12,18,12
a = b; //18,12,6
b = r; //12,6,0
//12和18的最大公约数是6
}
System.out.println(oa+"和"+ob+"的最大公约数是"+a);
}
}
辗转相除法
1.如果b等于0,计算结束,a就是最大 公约数;
2.否则,计算a除以b的余数,让a等于b,而b等于那个余数;
3.回到第一步。