首页 / JAVA / 第十届蓝桥杯Java B组 数的分解
第十届蓝桥杯Java B组 数的分解
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了第十届蓝桥杯Java B组 数的分解,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1116字,纯文字阅读大概需要2分钟。
内容图文
数的分解
Description
把 2019 分解成 3 个各不相同的正整数之和,并且要求每个正整数都不包含数字 2 和 4,一共有多少种不同的分解方法?
注意交换 3 个整数的顺序被视为同一种方法,例如 1000+1001+18 和1001+1000+18 被视为同一种。
Input
没有输入。
Output
这是一道结果填空的题,你只需要算出结果后提交即可。
本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
package test2019;
import java.util.HashSet;
public class _数的分解_ {
public static void main(String[] args) {
int count=0;
for(int i=1;i<=2019;i++)
{
for(int j=1;j<=2019;j++)
{
for(int k=1;k<=2019;k++)
{
if(i+j+k==2019&&i!=j&&i!=k&&j!=k) {//三个数不能相同
HashSet<Integer> hs1 = new HashSet<Integer>();//将三个数每个位置上的数字存放到一个hashset中,去重
int t1=i;
while(t1!=0) {
hs1.add(t1%10);
t1/=10;
}
int t2=j;
while(t2!=0) {
hs1.add(t2%10);
t2/=10;
}
int t3=k;
while(t3!=0) {
hs1.add(t3%10);
t3/=10;
}
int flag=0;
for(int x:hs1) {
if(x==2||x==4) //如果三个数中包含数字2或4,退出循环并标记,说明这三个数不符合条件
{
flag=1;
break;
}
}
if(flag==0) //如果走完上面的循环flag还是0,说明没有2和4,这三个数是符合条件的
{
count++;
}
}
}
}
}
System.out.println(count/6);
}
}
做法有些啰嗦,轻喷
内容总结
以上是互联网集市为您收集整理的第十届蓝桥杯Java B组 数的分解全部内容,希望文章能够帮你解决第十届蓝桥杯Java B组 数的分解所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。
来源:【匿名】