P1054 猴子吃桃
import java.util.*;
import java.io.*;
import java.math.BigInteger;
import java.lang.Character;
public class Main
{
public static void main(String args[])
{
Scanner cin=new Scanner(System.in);
int n=cin.nextInt(),x=1;
for(int i=1;i!=n;++i)
{
x=(x+1)*2;
}
System.out.println(x);
}
}
P1055 谭浩强C语言(第三版)习题6.11
虽然确实可以用sqrt
来解决,但是初学者最好不要占这个便宜,老老实实按照题目的要求来锻炼自己的编程技能。
import java.util.*;
import java.io.*;
import java.math.*;
import java.lang.Character;
public class Main
{
public static void main(String args[])
{
Scanner cin=new Scanner(System.in);
int n=cin.nextInt();
double x=n,x_nxt=1/2.0*(x+n/x);
while(Math.abs(x_nxt-x)>1e-5)
{
x=x_nxt;
x_nxt=1/2.0*(x+n/x);
}
System.out.printf("%.3f
", x);
}
}
P1056 谭浩强C语言(第三版)习题7.1
在算法竞赛中有更优的筛法,这里仅为了展示最基础的筛法。
import java.util.*;
import java.io.*;
import java.math.*;
import java.lang.Character;
public class Main
{
public static void main(String args[])
{
Scanner cin=new Scanner(System.in);
int n=cin.nextInt();
boolean[] prime= new boolean[n+5];
for(int i=1;i<=n;++i) prime[i]=true;
prime[1]=false;
for(int i=2;i<=n;++i)
{
if(prime[i])
{
for(int j=i*2; j<=n; j+=i)
{
prime[j]=false;
}
}
}
for(int i=2;i<=n;++i)
if(prime[i])
System.out.println(i);
}
}
P1057 无题目
P1058 谭浩强C语言(第三版)习题7.3
import java.util.*;
import java.io.*;
import java.math.*;
import java.lang.Character;
public class Main
{
public static void main(String args[])
{
Scanner cin=new Scanner(System.in);
int[][] arr=new int[3][3];
for(int i=0;i!=3;++i)
for(int j=0;j!=3;++j)
arr[i][j]=cin.nextInt();
System.out.println(String.valueOf(arr[0][0]+arr[1][1]+arr[2][2])+
" "+String.valueOf(arr[0][2]+arr[1][1]+arr[2][0]));
}
}
P1059 谭浩强C语言(第三版)习题7.4
注意,数据可能是倒序的。
import java.util.*;
import java.io.*;
import java.math.*;
import java.lang.Character;
public class Main
{
public static void main(String args[])
{
Scanner cin=new Scanner(System.in);
int[] arr=new int[9];
int larger=-1;
for(int i=0;i!=9;++i)
{
arr[i]=cin.nextInt();
if(i!=0)
{
if(larger==-1 && arr[i]!=arr[i-1])
{
larger=(arr[i]>arr[i-1])?1:0; // Ugly hack here.
// If all the same, the data is an error.
}
}
}
int value=cin.nextInt();
boolean hasPrint=false;
for(int i=0;i!=9;++i)
{
if(!hasPrint)
{
if((larger==1 && value<=arr[i]) || (larger==0 && value>=arr[i]))
{
System.out.println(value);
hasPrint=true;
}
}
System.out.println(arr[i]);
}
}
}