public class Task_8 {
/**
* 给你1000个0至9中的自然数,问你最大的连续5个数的乘积是多少。
* @param args
*/
public static void main(String[] args) {
String string = "78641346984696467976446749865164446456496346494643" +
"36949320646022406404620404645020734712143061656962" +
"00540435405342141748757570275096324026027206727576" +
"40895220479757419497576076647165100975190715155150" +
"78794661300446543257354542895423439245996456542456" +
"01937412956386554618954109312534710423854235483843" +
"12843091764586536547354381961319842573498136282736" +
"21416234987903092734625094571423409204701455401461" +
"14109209712632190340123421542957163789231236734789" +
"10273801910572319463785432984536541947865619349681" +
"12347080129341892634195327534896198431278587348192" +
"98646579969699967991996119669169217120766207269071" +
"41025882510152897241098880740188188574788985275652" +
"87913656301809067026840312496789316579886146578956" +
"12431243256327789098764780980920568079450942398354" +
"47932145689591048302913482653428395732627854345638" +
"97841924316243198127854762787847537824537845388375" +
"45646316579617975461313104061384961331109998465176" +
"97164597989816146094889464615100640647898409896416" +
"87646066431134698910489804564984649898042143792432";
int[] nums = stringToIntArray(string);
char[] nums2 = string.toCharArray();
int maxProduct = 1;
/* for(int i = 0;i<nums.length-5;i ++){
if(nums[i]*nums[i+1]*nums[i+2]*nums[i+3]*nums[i+4] >= maxProduct){
maxProduct = nums[i]*nums[i+1]*nums[i+2]*nums[i+3]*nums[i+4];
}
}*/
for(int i = 0;i<nums2.length-5;i ++){
if((nums2[i]-'0')*(nums2[i+1]-'0')*(nums2[i+2]-'0')*(nums2[i+3]-'0')*(nums2[i+4]-'0') >= maxProduct){
maxProduct = (nums2[i]-'0')*(nums2[i+1]-'0')*(nums2[i+2]-'0')*(nums2[i+3]-'0')*(nums2[i+4]-'0');
}
}
System.out.println(maxProduct);
}
public static int[] stringToIntArray(String string){
int[] nums;
nums = new int[string.length()];
for(int i=0;i < string.length();i++){
nums[i] = Integer.parseInt(string.substring(i, i+1));
}
return nums;
}
}
第八题
最新推荐文章于 2022-04-15 17:35:37 发布