200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 题目:万圣节派对

题目:万圣节派对

时间:2024-07-12 02:25:35

相关推荐

题目:万圣节派对

题目

问题 D: 万圣节派对(函数)时间限制: 1 Sec 内存限制: 128 MB提交: 348 解决: 89[提交][状态][讨论版]题目描述万圣节有一个Party,XadillaX显然也要去凑热闹了。因为去凑热闹的人数非常庞大,几十W的数量级吧,自然要进场就需要有门票了。很幸运的,XadillaX竟然拿到了一张真·门票!这真·门票的排列规则有些奇怪:门票号是由0~6组成的六位数(0~6这几个数字可重用)每一个门票号的每一位不能有三个连续相同的数字(如123335是不行的)每一个门票号相邻的两位相差必须在四以下(≤4)(如016245是不行的)要求至少有两个子函数。子函数1,参数为n,判断数字n是否有三个连续相同的数字。子函数2,参数为n,判断数字n相邻的两位差是否在4以下。输入第一行一个n,代表输入个数接下去n行,每行两个数字x,y(x <= y)输出对于每个测试,输出x到y之间的门票编号。每个测试结尾之间空行。样例输入2001001 001002001011 001012样例输出001001001002001011001012

代码块

#include <stdio.h>int Getnum(int j, int num){//注意这个函数,经常用,可以获取任意数的任意位的值。int temp = 1;for(int i=0; i<j; i++)temp *= 10;num /= temp;num %= 10;//先除再余10.return num;}int function1(int num){for(int i=0; i<4; i++){if(Getnum(i, num)==Getnum(i+1, num) && Getnum(i, num)==Getnum(i+2, num))return 0;}return 1;}int function2(int num){for(int i=0; i<5; i++){if(Getnum(i, num)-Getnum(i+1, num)>4 || Getnum(i, num)-Getnum(i+1, num)<-4)return 0;}return 1;}int main(void){int i, j, n;scanf("%d", &n);while(n--){int num1, num2;scanf("%d%d", &num1, &num2);for(i=num1; i<=num2; i++){for(j=0; j<6; j++)if(Getnum(j, i)>6)break;if(j==6)if(function1(i) && function2(i))printf("%06d\n", i);}printf("\n");}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
相关阅读
万圣节派对作文

万圣节派对作文

2023-06-04

万圣节派对诗歌

万圣节派对诗歌

2022-11-28

万圣节派对饮料

万圣节派对饮料

2021-10-27

万圣节派对(水题)

万圣节派对(水题)

2020-10-03