java算法----0至9这十个数组成两个三位数和一个四位数
http://yangjianzhouctgu.iteye.com/blog/1884313
- package com.zhonghaiwangluokeji.interview;
- /**
- * 0-9这十个数,组合成两个三位数和一个四位数
- * 求出满足条件:两个三位数相加等于那个四位数
- * 的所有这些数
- * @author yangjianzhou
- *
- */
- public class Problem3 {
- public static void main(String[] args) {
- printNumbers();
- }
- public static void printNumbers(){
- int result = 0;
- for(int i=123;i<=987;i++){
- for(int j=123;j<=987;j++){
- result = i+j;
- if((result>1000)&&isTrue(result,i,j)){
- System.out.print(result+" ");
- System.out.print(i+" ");
- System.out.println(j+" ");
- }
- }
- }
- }
- public static boolean isTrue(int result,int i,int j){
- String str = "0123456789";
- String s = result+""+i+""+j;
- int index = 0;
- String str1 = "";
- for(int k =0;k<str.length();k++){
- index = s.indexOf(str.charAt(k));
- if(index>=0){
- str1 = s.replaceFirst(str.charAt(k)+"", "a");
- s = str1;
- }
- }
- String s1 = s.replaceAll("a", "");
- if(s1.length()==0){
- return true;
- }
- return false;
- }
- }
package com.zhonghaiwangluokeji.interview;
/**
* 0-9这十个数,组合成两个三位数和一个四位数
* 求出满足条件:两个三位数相加等于那个四位数
* 的所有这些数
* @author yangjianzhou
*
*/
public class Problem3 {
public static void main(String[] args) {
printNumbers();
}
public static void printNumbers(){
int result = 0;
for(int i=123;i<=987;i++){
for(int j=123;j<=987;j++){
result = i+j;
if((result>1000)&&isTrue(result,i,j)){
System.out.print(result+" ");
System.out.print(i+" ");
System.out.println(j+" ");
}
}
}
}
public static boolean isTrue(int result,int i,int j){
String str = "0123456789";
String s = result+""+i+""+j;
int index = 0;
String str1 = "";
for(int k =0;k<str.length();k++){
index = s.indexOf(str.charAt(k));
if(index>=0){
str1 = s.replaceFirst(str.charAt(k)+"", "a");
s = str1;
}
}
String s1 = s.replaceAll("a", "");
if(s1.length()==0){
return true;
}
return false;
}
}
运行结果:
- 1035 246 789
- 1035 249 786
- 1053 264 789
- 1053 269 784
- 1053 284 769
- 1035 286 749
- 1035 289 746
- 1053 289 764
- 1089 324 765
- 1089 325 764
- 1098 342 756
- 1098 346 752
- 1206 347 859
- 1206 349 857
- 1098 352 746
- 1098 356 742
- 1206 357 849
- 1206 359 847
- 1089 364 725
- 1089 365 724
- 1098 423 675
- 1098 425 673
- 1305 426 879
- 1305 429 876
- 1089 432 657
- 1026 437 589
- 1089 437 652
- 1026 439 587
- 1089 452 637
- 1089 457 632
- 1062 473 589
- 1098 473 625
- 1098 475 623
- 1305 476 829
- 1062 479 583
- 1305 479 826
- 1062 483 579
- 1026 487 539
- 1026 489 537
- 1062 489 573
- 1026 537 489
- 1026 539 487
- 1062 573 489
- 1062 579 483
- 1062 583 479
- 1026 587 439
- 1026 589 437
- 1062 589 473
- 1098 623 475
- 1503 624 879
- 1098 625 473
- 1503 629 874
- 1089 632 457
- 1089 637 452
- 1089 652 437
- 1089 657 432
- 1098 673 425
- 1503 674 829
- 1098 675 423
- 1503 679 824
- 1089 724 365
- 1089 725 364
- 1098 742 356
- 1602 743 859
- 1035 746 289
- 1098 746 352
- 1035 749 286
- 1602 749 853
- 1098 752 346
- 1602 753 849
- 1098 756 342
- 1602 759 843
- 1053 764 289
- 1089 764 325
- 1089 765 324
- 1053 769 284
- 1053 784 269
- 1035 786 249
- 1035 789 246
- 1053 789 264
- 1503 824 679
- 1305 826 479
- 1305 829 476
- 1503 829 674
- 1602 843 759
- 1206 847 359
- 1206 849 357
- 1602 849 753
- 1602 853 749
- 1206 857 349
- 1206 859 347
- 1602 859 743
- 1503 874 629
- 1305 876 429
- 1305 879 426
- 1503 879 624
java算法----0至9这十个数组成两个三位数和一个四位数相关推荐
- 依次从数组a中取出一个四位数,如果该四位数连续大于该四位数以后的5个数,且该数是奇数,则把这个四位数按从小到大的顺序存入数组b中,并计算满足上述条件的四位数的个数cnt。
已知数据文件IN28.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请编制一个函数jsVal(),其功能是:依次从数组a中取出一个四位数,如果该四位数连续大于该四位 ...
- (JAVA练习)输入一个四位数,各个位的数字相加
题目: 输入一个四位数,各个位的数字相加 解法1: import java.util.Scanner;public class While1117 {public static void main(S ...
- 【8558】编写算法建立的链表,实现将其分解成两个链表,其中一个全部为奇数,另一个全部为偶数(尽量利用已知存储空间)
关注公众号程序猿从入门到入土查询更方便哦 编写算法建立的链表,实现将其分解成两个链表,其中一个全部为奇数,另一个全部为偶数(尽量利用已知存储空间) #include<bits/stdc++.h& ...
- ACMNO.25 C语言-间隔输出 写一函数,输入一个四位数字,要求输出这四个数字字符,但每两个数字间空格。如输入1990,应输出1 9 9 0。 输入 一个四位数 输出 增加空格输出
题目描述 写一函数,输入一个四位数字,要求输出这四个数字字符,但每两个数字间空格.如输入1990,应输出"1 9 9 0". 输入 一个四位数 输出 增加空格输出 样例输入 199 ...
- java 文曲星猜数字,「3D跨度表」文曲星中的猜数字游戏,要猜一个四位数,有什么通用公式?...
大家好,本文问题是「3D跨度表」文曲星中的猜数字游戏,要猜一个四位数,有什么通用公式?,由专家五湖彩解答.下面是具体回答内容: 算法:主来要是复杂的逻辑判断.基自本的想法是先在六bai步里判断出是哪d ...
- 算法题:找出整数数组中两个只出现一次的数字
问题:一个整数数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字.要求时间复杂度为O(n),空间复杂度为O(1). 分析:这是一个很新颖的关于位运算的题目. 首先考虑这 ...
- Java 开发验证码。随机产生一个四位数的验证码,每位数可能是数字、大写字母或小写字母。
package Test;import java.util.Random;public class CVC {public static void main(String[] args) {Strin ...
- Java 生成验证码。随机产生一个四位数的验证码,每位数可能是数字、大写字母或小写字母。
package com01; /*** 生成一个五位数的验证码* 化为生成一个五位数的字符串* 字符串初始为空,然后依次累加* 验证码由A-B,a-b,0-9组成* A-65* a-97* 0-0*/ ...
- java 算法_JAVA经典算法40题
[程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔子的规律为数列1,1 ...
最新文章
- 一篇了解NLP中的注意力机制
- jaxb和dozer简介
- Markdown的基本语法
- python入门实践1-11课视频分享
- 线程知识-ThreadLocal使用详解
- 【数据竞赛】从0梳理1场时间序列赛事!
- Maven集成测试和Spring Restful Services
- Python之路--Django--auth认证系统
- x64伪装进程路径 过PCHunter xxx ARK
- intel cpu core/“酷睿”系列发展史,供组装机的朋友们参考
- 已设定选项 ‘readonly‘ (请加 ! 强制执行)
- FireStart教程:基于SharePoint的出差报销流程三
- wps 甘特图_「WPS办公助手」3分钟画出高逼格流程图,工作学习规划一目了然,老板都要为你点赞...
- 关于django外键设置的问题
- Mangopi MQ-R:T113-s3编译Tina Linux系统(二)SDK目录
- BT种子文件格式和Bencoding编码
- 如何监控ActiveMQ
- python星座分析
- 企业如何选择物联网卡以及流量套餐?
- 苹果Mac特殊符号快捷键输入方法有哪些?
热门文章
- iOS逆向之深入解析如何计算+load方法的耗时
- 【数据结构与算法】之深入解析“通配符匹配”的求解思路与算法示例
- 【ARM】Tiny4412裸板编程之LED(二)
- 【IT资讯】年薪170万码农征友,条件让网友炸锅……
- 【Linux】一步一步学Linux——hostname命令(73)
- php获取字符串商都_php strlen获取字符串字节长度和mb_strlen获取字符串个数长度的区别(strlen获取中文长度)...
- 《DLL木马进程内幕大揭秘》
- TCP/IP学习笔记(八)复位报文段
- Redis源码剖析(一)服务器与客户端交互流程
- tomcat 4.0头文件及maven导出问题万能build模板