点击跳转专栏=>Unity3D特效百例点击跳转专栏=>案例项目实战源码点击跳转专栏=>游戏脚本-辅助自动化点击跳转专栏=>Android控件全解手册点击跳转专栏=>Scratch编程案例点击跳转=>软考全系列点击跳转=>蓝桥系列

关于作者

专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等) 有什么需要欢迎底部卡片私我,获取更多支持,交流让学习不再孤单。

实践过程

需要所有整理的文档可底部卡片联系我,直接发压缩包。

01字符串

问题描述

对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是: 00000 00001 00010 00011 00100

请按从小到大的顺序输出这32种01串。

输入格式 本试题没有输入。

输出格式 输出32行,按从小到大的顺序每行一个长度为5的01串。 样例输出 00000 00001 00010 00011 <以下部分省略>

#include

int main()

{

int i;

for (i = 0; i < 32; i++)

printf("%d%d%d%d%d\n", i/16%2, i/8%2, i/4%2, i/2%2, i%2);

return 0;

}

2n皇后问题

问题描述   给定一个n*n的棋盘,棋盘中有一些位置不能放皇后。现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行、同一列或同一条对角线上,任意的两个白皇后都不在同一行、同一列或同一条对角线上。问总共有多少种放法?n小于等于8。

输入格式   输入的第一行为一个整数n,表示棋盘的大小。   接下来n行,每行n个0或1的整数,如果一个整数为1,表示对应的位置可以放皇后,如果一个整数为0,表示对应的位置不可以放皇后。

输出格式   输出一个整数,表示总共有多少种放法。

样例输入 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 样例输出 2

样例输入 4 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 样例输出 0

#include

int go(int* a, int* b, int* c, int m, int n)

{

if (m == n)

return 1;

int i, j, k, count = 0;

for (i = 0; i < n; i++)

{

if (a[m * n + i] == 0)

continue;

for (j = 0; j < m; j++)

if (b[j] == i || b[j] - i == j - m || b[j] + j == i + m)

break;

if (j == m)

{

b[m] = i;

for (k = 0; k < n; k++)

{

if (a[m * n + k] == 0 || k == i)

continue;

for (j = 0; j < m; j++)

if (c[j] == k || c[j] - k == j - m || c[j] + j == k + m)

break;

if (j == m)

{

c[m] = k;

count += go(a, b, c, m + 1, n);

}

}

}

}

return count;

}

int main()

{

int a[64], b[8], c[8], i, j, n;

scanf("%d", &n);

for (i = 0; i < n; i++)

for (j = 0; j < n; j++)scanf("%d", &a[i * n + j]);

printf("%d", go(a, b, c, 0, n));

return 0;

}

A+B问题

问题描述 输入A、B,输出A+B。

输入格式 输入的第一行包括两个整数,由空格分隔,分别表示A、B。

输出格式 输出一行,包括一个整数,表示A+B的值。

样例输入 12 45

样例输出 57

数据规模与约定 -10000 <= A, B <= 10000。

#include

int main()

{

int a, b;

scanf("%d%d", &a, &b);

printf("%d", a + b);

return 0;

}

Fibonacci数列

问题描述

Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。

当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。 输入格式 输入包含一个整数n。 输出格式 输出一行,包含一个整数,表示Fn除以10007的余数。

说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。 样例输入 10 样例输出 55 样例输入 22 样例输出 7704 数据规模与约定 1 <= n <= 1,000,000。

#include

int F(int n)

{

int i, s1 = 1, s2 = 1, s3 = 1;

for (i = 3; i <= n; i++)

{

s3 = s1 + s2;

if (s3 > 10007)

s3 -= 10007;

s1 = s2;

s2 = s3;

}

return s3;

}

int main()

{

int n;

scanf("%d", &n);

printf("%d", F(n));

return 0;

}

其他

作者:小空和小芝中的小空 转载说明-务必注明来源:https://zhima.blog.csdn.net/ 这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气,日后定有一番大作为!!!旁边有点赞收藏今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。

温馨提示:点击下方卡片获取更多意想不到的资源。

相关阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: