1980-分苹果

【C系列4.12】函数训练之分苹果 1980

Time Limit:  1 s      Memory Limit:   32 MB
Submission:130     AC:78     Score:27.33

 

Description

cyn小朋友所在的幼儿园今天上午的点心是苹果,但是mwy老师分到最后发现多了两个苹果,于是他决定用一种方法找出一位位幸运儿。

n个小朋友围成一圈,编号从1-n,第一个人从1数起,数到7的那个人就被淘汰出局,接下来的人又从1数起,数到7再次被淘汰(如果人数不满7个,则循环着数)……最后剩下的一个人就是赢家(主函数已经给出)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<stdio.h>
int jos(int n);
int main()
{
    int n,s,t;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d",&n)
        s = jos(n);
        printf("%d ", s);
    }
    return 0;
}


Input

第一行输入一个整数T,代表有T组测试样例。

接下来的T行每行输入一个整数n(n<=1000),代表总共有几位小朋友。

Output

对于每一个n,输出对应幸运儿的初始编号。

Samples

input:
2
100
32
output:
50
5


下附AC代码:

#include<stdio.h>
int jos(int n);
int main()
{
	int n,s,t;
	scanf("%d",&t);
	while(t--)
    {
        scanf("%d",&n);
        s = jos(n);
        printf("%d\n", s);
    }
	return 0;
}

int jos(int n) {
	int i;
	int k = 0;
	for (i = 2; i <= n; ++i) {
		k = (k + 7) % i;
	}
	return k + 1;
}


原题链接:http://acm.hznu.edu.cn/OJ/problem.php?cid=1092&pid=13


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值