重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1、首先我来整理下这到题,抽取主要提干
我们提供的服务有:成都网站建设、网站制作、微信公众号开发、网站优化、网站认证、含山ssl等。为超过千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的含山网站制作公司
a=4 和 b=7 最大不能组合出来的数是c= 17
a=3 和 b=5 最大不能组合出来的数是c= 7
当a b值任意 求c值
2、java 代码
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class T_1796140699890495867html {
public static void main(String[] args) throws Exception {
//输出段
BufferedReader brKey = new BufferedReader(new InputStreamReader(System.in));
System.out.println("用户输入:");
String strNum = brKey.readLine();
String[] oneAndTwoNums = strNum.split(" ");
brKey.close();
//处理段
int boxOne,boxTwo,impNum,bufNum;
boxOne = Integer.valueOf(oneAndTwoNums[0]);
boxTwo = Integer.valueOf(oneAndTwoNums[1]);
//如果第一个数大于第二个数,那么调换位置
if(boxTwo boxOne){
boxOne = boxOne + boxTwo;
boxTwo = boxOne - boxTwo;
boxOne = boxOne - boxTwo;
}
//预定义值
impNum = boxOne * boxTwo;
//临时计算数
bufNum = impNum;
while(bufNum = 0){
if(bufNum % boxOne == 0){
bufNum = (-- impNum);
}else if(bufNum % boxTwo == 0){
bufNum = -- impNum;
}else{
bufNum -= boxTwo;
}
}
//输出段
System.out.println("程序应该输出:");
System.out.println(impNum);
}
}
3、运行截图
/**
* @(#)Eat_Candy.java
*
*
* @author
* @version 1.00 2013/10/17
*/
import java.util.*;
import java.math.*;
public class Eat_Candy {
/**
* Creates a new instance of codeEat_Candy/code.
*/
// public Eat_Candy() {
// }
/**
* @param args
* the command line arguments
*/
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
long number = reader.nextLong();
long size = reader.nextLong();
long sum = 0, max = 0, b = 0;
b = reader.nextLong();
for (long j = 0; j number; j++) {
if (size 0 || size 1000000)
break;
for (long i = 0; i size; i++) {
sum += b;
if (b max) {
max = b;
}
}
if (sum - max + 1l = max) {
System.out.println("YES");
} else
System.out.println("NO");
}
// TODO code application logic here
}
}
初步做了一个出来,但是效率并不是很高,前100个计算速度还可以,但是往后就很慢了。如果什么时候有空的话可以再看看,先给你代码吧,不知道能不能帮上你
public class AlisandaNumber {
private static final int MAX_INDEX = 1000; // 可以先把这个常量改为1-6,验证正确性
public static void main(String[] args) {
int a = 0;
int index = 0;
while(index MAX_INDEX) {
a += 6; // 每次循环自增6,由题目规律可知A是6的倍数
boolean breakOut = false;
// 最大的约数为此数的平方根,因为如果是两个平方根相乘的话,剩下的就只有1了
int maxNum = (int) Math.ceil(Math.sqrt(a));
p:
for(int p = 1; p = maxNum; p ++) {
if(a % p != 0) {
continue; // 如果不是约数的话,没必要考虑,下同
}
// 最大约数为平方根的相反数,原理同上
maxNum = (int) Math.ceil(Math.sqrt(a / p));
for(int q = -1; q = -maxNum; q --) { // q和r必为负数
if(a % q != 0) {
continue;
}
int r = a / (p * q);
int nonZero = p * q + p * r + q * r;
if (nonZero == 0) {
continue;
}
if((a == p * q * r) (a == (p * q * r) / (nonZero))) {
index ++;
breakOut = true;
break p; // 跳出外层循环
}
}
}
if(breakOut) {
System.out.println(String.format("第%d个压力山大数是%d", index, a));
}
}
}
}