冥冥之中自有7意
内存限制:128 MB时间限制:1.000 S
题目描述
请根据输入的数字来打印相应大小的7的图形
输入
共t组输入,第一行输入一个数字t(1<=t<=10),每组第一行输入一个数字n(1<=n<=100)表示图形的大小
输出
每组输出相应大小的图形
样例输入
3
1
2
3
样例输出
77
7
7
777
7
7
7
7
7777
7
7
7
7
7
7
题解:
#include <stdio.h>
void f(int n) {
int i;
for (i = 0; i < n; i++)
printf(" ");
}
int main() {
int t, n,i;
scanf("%d", &t);
char ch = '7';
while (t--) {
scanf("%d", &n);
for (i = 0; i <= n; i++) {
printf("%c", ch);
}
printf("\n");
for (i = 0; i < (2*n); i++) {
f(n);
printf("%c\n", ch);
}
}
return 0;
}
今天是个好日子!
内存限制:128 MB时间限制:1.000 S
题目描述
众所周知,今天(新历 2021年11月27日)是个好日子,今天是吉首大学软件学院菜鸟杯举行的日子,你知道吗?今天其实还是个精挑细选的黄道吉日(bushi),是由学长在学完机器学习之后写的风水测评器上得到的,但是学长忘记今天是几月几日了,你想要验证今天是不是黄道吉日,请告诉学长今天是新历几月几日?
输入
无
输出
输出今天是新历几月几日(以汉字形式输出,输出格式 :"二月十一日"(不含引号,只输出几月几日))
样例输入
无
样例输出
无
题解:
#include <stdio.h>
int main() {
int month, day;
for (month = 1; month <= 12; month++) {
for (day = 1; day <= 31; day++) {
if (month == 11 && day == 27) {
printf("十一月二十七日");
}
}
}
return 0;
}
汝觉吾摆时,吾若不摆,亦为摆
内存限制:128 MB时间限制:1.000 S
题目描述
当我在你觉得我会摆烂的时候不摆烂,也是一种摆烂。牛子爷如是说道。
现在给你一个数字。我们要将其转化为二进制,但是为了不让牛子爷认为你在摆烂。所以给定了一个新的转换为二进制的方法。
我们从个位数往后从1开始进行标记序号。 即个位序号为1,十位序号为2,百位序号为3 。如果某一位的序号和这一位上的数奇偶性相同。我们就认为二进制上这一位为1,否则即为0。
比如给你一个数 1322653 。
那么其序号和转化为二进制的情况。
那么我们用题目给出的方法将其转换为二进制即为 1001001
但是你不想这么简单的吧这个二进制的数告诉出题人,所以你需要把这个二进制的数再转换为十进制并打印这个十进制的数。
输入
多组输入
每组给出一个数字。 数字长度为 1~10^6
输出
输出其通过题目给出方法转换为二进制再转换成十进制的数。
因为结果会超过long long int 的数据范围。 所以结果对 1000000007 取模。
即如果答案为 1000000008 ,因为1000000008%1000000007=1,所以我们输出 1 。
样例输入
1322653
13226535645645456561231355615641685158416532486138
342315
样例输出
73
796471120
13
题解:
#include <stdio.h>
#include<string.h>
char t[1000001];
int main()
{
long long h, l, len, sum;
while (scanf("%s",t)!=EOF)
{
len = strlen(t);
for (l = 1, h = len - 1; h >= 0; h--, l++)
{
if ((t[h] - '0') % 2 == l % 2)t[h] = 1;
else t[h] = 0;
}
sum = 0;
for (h = 0; h < len - 1; h++)
{
sum = (sum + t[h]) * 2 % 1000000007;
}
sum += t[h];
printf("%lld\n", sum);
}
return 0;
}