编号为1,2,…,n的n个人按顺时针方向围坐一圈
来源:百度知道 编辑:UC知道 时间:2024/06/25 21:51:15
每人持有一个密码(正整数),一开始人选一个正整数作为报数上限m,从第一个人开始按顺时针方向从自1开始顺序报数,报道m时停止报数。报m的人出列,将他的密码作为新的m值,从他的顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止,设计一个程序求出出列顺序。
采用单向循环链表模拟此过程,按照出列的顺序印出各人的编号
用C语言版的数据结构编写
用C语言版的数据结构编写
用C语言版的数据结构编写
用C语言版的数据结构编写
用C语言版的数据结构编写
用C语言版的数据结构编写
测试数据:
m的初值为20,n=7 ,7个人的密码依次为3,1,7,2,4,7,4,则正确的输出是什么?
输入数据:处理输入数据,输入m的初值,n ,输入每个人的密码,建立单循环链表。
不要c++
采用单向循环链表模拟此过程,按照出列的顺序印出各人的编号
用C语言版的数据结构编写
用C语言版的数据结构编写
用C语言版的数据结构编写
用C语言版的数据结构编写
用C语言版的数据结构编写
用C语言版的数据结构编写
测试数据:
m的初值为20,n=7 ,7个人的密码依次为3,1,7,2,4,7,4,则正确的输出是什么?
输入数据:处理输入数据,输入m的初值,n ,输入每个人的密码,建立单循环链表。
不要c++
#define ERROR 0
#define OK 1
#include<stdio.h>
#include<stdlib.h>
struct CirNode/*定义每个结点的类型 */
{
int data;/*每个人所拥有的密码*/
int num;/*每个人在圈中的位序*/
struct CirNode *next;
};
int a[30]; /*人数要求≤30 */
struct CirNode *CreateList(int n)/*生成n个结点的单向循环链表 */
{
struct CirNode *L,*p,*q;
int i;
int j=1;
L=q=(struct CirNode*)malloc(sizeof(struct CirNode));/*建立一个不带头结点的单向循环链表 */
if(!q) return ERROR;
printf("shu ru mei ge ren de mi ma:\n");
q->num=j;
printf("%d.data=",j);
scanf("%d",&q->data);
j++;
q->next=L;
for(i=1;i<n;i++)
{
p=(struct CirNode*)malloc(sizeof(struct CirNode));
printf("shu ru mei ge ren de mi ma:\n");
p->num=j;
printf("%d.data=",j);
scanf("%d",&p->data);
j++;
q->next=p;
p->next=L;
q=q->next;
从第一个人依次从1到N循环报数,当报数为N时,此人出圈,直到一个人为止,按退出的次序输出出圈人编号。
设有n个人坐一圈并按顺时针方向从1到n编号,
n×(n-1)×(n-1)求和,n为2、3、4……n
已知m,n为正整数,求出满足等式3n+4n+5n+…+(n+2)n=(n+3)n的所有正整数n
1/n+1/(n+1)+…+1/2n[n为正整数],它的极限是多少?
N个岛建N-1座桥总建法是N的N-2次方!
求比较n^(n+1)和(n+1)^n的大小(n为自然数)
若N为自然数,证明整式n(2n+1)-2n(n-1)
在n*n的棋盘上填入1,2,3,4.......n*n,共有n*n个数,使得任意两个相邻数的和为素数
求f(n)=1/(n+1)+1/(n+2)+...+1/(n+n)(n为正整数)的解析式