重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
import java.util.Scanner;
在昌宁等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站建设、成都网站制作 网站设计制作定制网站,公司网站建设,企业网站建设,品牌网站设计,成都全网营销推广,成都外贸网站建设,昌宁网站建设费用合理。
public class TestKnockSeven {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt(); // 获取控制台输入的数字
SevenKnock(n);
}
// 找出n以内所有能被7整除或者含有7的数字,并且打印出来
public static void SevenKnock(int n) {
for (int i = 1; i = n; i++) { // 遍历n以内的所有整数
if (i % 7 == 0 || hasSeven(i)) { // 如果能被7整除或者含有7这个数字就打印出来
System.out.println(i);
}
}
}
// 判断数字是否含有7,如果有返回true,否则返回false
public static boolean hasSeven(int i) {
String s = String.valueOf(i);
if (s.contains("7")) {
return true;
}
return false;
}
}
主要代码如下:
for(int i=0;i=100;i++)
if(i/7!=0i%10!=7)
system.out.println("100之内不是7的倍数或不含有7的有"+i);
这个问题是很经典的编程问题,叫约瑟夫环问题,参考程序如下:
//YueSeFu.java
public class YueSeFu {
public static void main(String[] args)
{
final int n=13,s=1,m=5;//n为总人数,从第1个人开始报数,报数到m的出圈
int[] p=new int[n];//数组p用于标记已出圈的人
int[] q=new int[n];//数组q存放出队的顺序
int i,j,k,N=0;
k=s-2;//k从1开始数出圈人的下标
for(i=1;i=n;i++)
{
for(j=1;j=m;j++)//从1到m报数,计算出圈人的下标k
{
if(k==n-1)//当出圈人的下标达到末尾时
{
k=0;//出圈人的下标从0开始
}
else
k++;//否则下标+1
if(p[k]==1)//若平p[k]=1,说明下标为k的人已出圈
{
j--;//由于让过已出圈的人,所以j要-1,以保证每次数过m个人
}
}
p[k]=1;//将下标为k的数组元素置1,表示出圈
q[N++]=k+1;//将下标为k的人的编号k+1,存入数组元素q[N]中
}
System.out.println("出圈顺序为:");
for(i=0;in;i++)
{
System.out.print(q[i]+" ");
}
}
}