
正文
逢七过代码java java逢七过怎么编写
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java怎么逢七抽一啊
这个问题是很经典的编程问题,叫约瑟夫环问题,参考程序如下:
//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]+" ");
}
}
}
相关问答
Q1: 逢七必过游戏的游戏规则是什么?
您好,我是123甲子,很高兴能帮忙回答这个问题。
以下是“逢7必过”的游戏规则:
一、【基础版】规则
任意一人从1开始轮流报数,2、3.....依次数下去,逢到7的倍数的数字(如:7、14、21......)和含有7的数字(如:17、27......)必须以敲桌子代替。
如果有谁逢7说出来了,就输;有谁没有逢7就敲桌子的,也输。
图片来源网络,如侵请联系
扩展资料:
①前一个玩家喊到13
②我是下一个玩家,按顺序应该喊14,但因为14是7的倍数,所以不能喊出来。
③下一个玩家也不能喊14,他要喊15;如果他喊错,那他就输了。
二、【疯狂版】规则:
1)每个玩家不是单纯地喊出数字,而是在喊出数字之后要给下一个玩家出题。
图片来源网络,如侵请联系
2)扩展资料:
①比如我喊完4,接着会喊4+9。
②因为我喊的这两个数字之和不是7的倍数,所以下个玩家就要先喊出那个数字13,然后再给下一个玩家出题;
③如果这两个数字之和刚好是7的倍数,如14,那这个玩家就不能喊出来;要由下一个玩家直接出题给下下一个玩家,总之,就是不能喊出7的倍数。
Q2: “逢7过”这个游戏怎么玩?
基础版“逢7过”
(1)玩法:大家围成一圈,然后从1开始依序喊数字,如果数字是7或者7的倍数,就不能喊出这个数字,必须做一个动作。
(2)例如,前一个玩家喊到13,我是下一个玩家,按顺序应该喊14,但因为14是7的倍数,所以不能喊出来。下一个玩家也不能喊14,他要喊15。如果他喊错,那他就输了。
疯狂版“逢7过”:
(1)玩法:每个玩家不是单纯地喊出数字,而是在喊出数字之后要给下一个玩家出题。例如,喊4,接着会喊4+9。如果这两个数字之和不是7的倍数,那么玩家就要先喊出那个数字,然后给下一个玩家出题。
(2)如果这两个数字之和刚好是7的倍数,那这个玩家就不能喊出来,要由下一个玩家直接出题给下下一个玩家,总之,就是不能喊出7的倍数。
(3)例如,轮到我的时候是9,接着出题9+5,因为这两个数之和是14,是7的倍数,下一个玩家不能喊出来。虽然接下来的那一个玩家也不能喊出来,但是他要出题,比如他就要喊14+3。他之后的那个玩家,就要先说17,然后出一道题。
扩展资料:
游戏作用
这个游戏主要训练注意力的转移以及冲突的排解。因为在这个游戏中,必须一直留意每个人喊的数字,从这个人到下一个人,所以需要注意力的转移。另外,可能会有跟着别人做的冲动,所以即使当轮到自己的那个数字是7的倍数时,也会有强烈的念头要喊出来。抑制自己不喊出数字的过程,就会训练冲突的排解能力。
这种玩法,会让玩游戏的人时时保持警见,因为不知道前一个人究竟是会按顺序喊,还是会跳着喊数字。这个版本的游戏,玩起来更加刺激,而且会训练警觉能力。
参考资料来源:百度百科-逢七过
Q3: c++语言中逢七必过怎么写,就是一百以内的数中,凡是含有7的或者是七的倍数都过去
//整的程序代码:
#incoude iostream
using namespace std;
int main()
{
for (int i=1; i=100; i++)
{
if(i%7!=0)
cout i endl;
}
return 0;
}
/*代码纯手打逢七过代码java,可能有错逢七过代码java,自己检查一下吧。*/
Q4: 谁有关于24节气的算法,最后有java实现的代码
import java.util.*;/**规则在这里 超过字数逢七过代码java了 我吧缩进删逢七过代码java了*/public class SolarTerm {public static void main(String[] s) throws Exception{SolarTerm st = new SolarTerm();if(s.length == 3){System.out.println(st.getSoralTerm(Integer.parseInt(s[0]), Integer.parseInt(s[1]), Integer.parseInt(s[2])));}System.out.println(st.getSoralTerm(2009, 1, 5));System.out.println(st.getSoralTerm(2009, 1, 20));System.out.println(st.getSoralTerm(2009, 1, 23));System.out.println(st.getSoralTerm(2009, 2, 18));}final static long[] STermInfo = new long[] { 0, 21208, 42467, 63836, 85337,107014, 128867, 150921, 173149, 195551, 218072, 240693, 263343,285989, 308563, 331033, 353350, 375494, 397447, 419210, 440795,462224, 483532, 504758 };private static final String[] SolarTerm = new String[] { "小寒", "大寒", "立春", "雨水","惊蛰", "春分", "清明", "谷雨", "立夏", "小满", "芒种", "夏至", "小暑", "大暑", "立秋","处暑", "白露", "秋分", "寒露", "霜降", "立冬", "小雪", "大雪", "冬至"};public SolarTerm(){}/** 核心方法 根据日期得到节气 */public String getSoralTerm(Date Date){Calendar cal = Calendar.getInstance();cal.setTime(Date);int y = cal.get(Calendar.YEAR);int m = cal.get(Calendar.MONTH) + 1;int d = cal.get(Calendar.DAY_OF_MONTH);return getSoralTerm(y, m, d);}/** 核心方法 根据日期(y年m月d日)得到节气 */public String getSoralTerm(int y, int m, int d){String solarTerms;if (d == sTerm(y, (m - 1) * 2)) solarTerms = SolarTerm[(m - 1) * 2];else if (d == sTerm(y, (m - 1) * 2 + 1)) solarTerms = SolarTerm[(m - 1) * 2 + 1];else{//到这里说明非节气时间 solarTerms = "";}return solarTerms;}// ===== y年逢七过代码java的第n个节气为几日(从0小寒起算)private int sTerm(int y, int n) {Calendar cal = Calendar.getInstance();cal.set(1900, 0, 6, 2, 5, 0);long temp = cal.getTime().getTime();cal.setTime(new Date( (long) ((31556925974.7 * (y - 1900) + STermInfo[n] * 60000L) + temp)));return cal.get(Calendar.DAY_OF_MONTH);}}
关于逢七过代码java和java逢七过怎么编写的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。





