import java.util.*;
import java.math.BigInteger;;
public class Main
{
public static void main(String [] args)
{
Scanner cin = new Scanner(System.in);//对于Scanner 类声明对象cin用来扫描控制台输入
int T;
while(cin.hasNext())
{
T = cin.nextInt();
for(int cas = 1; cas <= T; cas++)
{
BigInteger m = cin.nextBigInteger();
BigInteger n = cin.nextBigInteger();
BigInteger k = cin.nextBigInteger();
BigInteger c = new BigInteger("1");//将大数型变量c赋值为1;
BigInteger c2 = new BigInteger("2");//将大数型变量c2赋值为2;
//System.out.println(n.divide(c2));
BigInteger t1 = (m.subtract(c)).divide(c2);
BigInteger t2 = (n.subtract(c)).divide(c2);
System.out.print("Case #");
System.out.print(cas);
System.out.print(": ");
if(((n.multiply(m)).subtract(t1.multiply(t2))).compareTo(k) <= 0 && k.compareTo(n.multiply(m)) <= 0)
{
System.out.println("yes");
}
else
{
System.out.println("no");
}
/*用java写代码的时候一定要一行写完之后在根据Eclipse系统自动判断语法来审查代码的正误 。
* 刚开始就是因为一句还没写完报错结果误以为java用不了&&而导致写成了这样,逻辑不对而wa
* 所以说java的一条语句一定要写完再回头看是否写错了
if(((n.multiply(m)).subtract(t1.multiply(t2))).compareTo(k) <= 0)
{
if(k.compareTo(n.multiply(m)) <= 0)
{
System.out.println("yes");
}
}
else
{
System.out.println("no");
}
*
* */
}
}
cin.close();
}
}
10.7集训第2题,
题目链接:点击打开链接
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int n;
int solve(int n)
{
return n == 1 ? 1 : solve(n/2)+1;
}
int main()
{
int T;
while(~scanf("%d", &T))
{
for(int cas= 1; cas <= T; cas++)
{
scanf("%d", &n);
printf("Case #%d: %d\n", cas, solve(n));
}
}
return 0;
}
/*主要是找到递推的规律
*/
java大数练手
hdu 1002 大数 题目链接点击打开链接
import java.util.*;
import java.math.*;
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner cin = new Scanner(System.in);
int T;
while(cin.hasNext())
{
T = cin.nextInt();
for(int cas= 1; cas <= T; cas++)
{
BigInteger a = cin.nextBigInteger();
BigInteger b = cin.nextBigInteger();
System.out.print("Case ");
System.out.print(cas);
System.out.println(":");
System.out.print(a);
System.out.print(" + ");
System.out.print(b);
System.out.print(" = ");
System.out.println(a.add(b));
if(cas < T) System.out.println();
}
}
}
}
import java.util.*;
import java.math.*;
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner cin = new Scanner(System.in);
int T;
while(cin.hasNext())
{
T = cin.nextInt();
for(int cas= 1; cas <= T; cas++)
{
BigInteger a = cin.nextBigInteger();
BigInteger b = cin.nextBigInteger();
//原来用+号连接就好,不用一行一行的输出
System.out.println("Case "+cas+":");
System.out.println(a+" + "+b+" = "+a.add(b));
//System.out.print("Case ");
//System.out.print(cas);
//System.out.println(":");
//System.out.print(a);
//System.out.print(" + ");
//System.out.print(b);
//System.out.print(" = ");
//System.out.println(a.add(b));
if(cas < T) System.out.println();
}
}
}
}