乐清市网站建设设计,云南网站建设500,网页对于网站有多重要,高端模版网站又一道简单题
题目描述
输入一个四个数字组成的整数 n#xff0c;你的任务是数一数有多少种方法#xff0c;恰好修改一个数字#xff0c;把它 变成一个完全平方数#xff08;不能把首位修改成 0#xff09;。比如 n7844#xff0c;有两种方法#xff1a;3844622 和 77…又一道简单题
题目描述
输入一个四个数字组成的整数 n你的任务是数一数有多少种方法恰好修改一个数字把它 变成一个完全平方数不能把首位修改成 0。比如 n7844有两种方法3844622 和 7744882。
输入
输入第一行为整数 T (1T1000)即测试数据的组数以后每行包含一个整数 n (1000n9999)。
输出
对于每组数据输出恰好修改一个数字把 n变成完全平方数的方案数
样例输入 Copy
2
7844
9121
样例输出 Copy
Case 1: 2
Case 2: 0
import mathdef solve(index, t):count 0for i in range(1, 5): # (1,4)a 10 ** (4 - i)if i 1:for j in range(1, 10):if j t // a:continueb t - (t // a) * a j * ac int(math.sqrt(b))if c * c b:count 1else:for j in range(10):if j (t % (a * 10)) // a:continueb t - (t % (a * 10)) // a * a j * ac int(math.sqrt(b))if c * c b:count 1print(fCase {index 1}: {count})while True:n int(input())count 0for i in range(n):t int(input())solve(i, t)自守数
题目描述
自守数是指一个数的平方的尾数等于该数自身的自然数。例如25^2 62576^2 57769376^2 87909376。请求出n以内的自守数的个数。
输入
int型整数。
输出
n以内自守数的数量。
样例输入 Copy
2000
样例输出 Copy
8
#include stdio.hint is_num(long a) {long s a * a;while (a ! 0) {if (a % 10 ! s % 10) {return 0; }a a / 10;s s / 10;}return 1;
}int main() {long a;while (~scanf(%ld, a)) {int count 0;for(int i a; i 0; i--) {if (is_num(i)) {count;}}printf(%d\n, count);}return 0;
}相聚HNUCM校园食堂
题目描述
HNUCM的食堂重新装修了小明决定约上朋友去食堂相聚在食堂里小明看到了M位男同学N位女同学小明是一个颜值控因此他对每一位男生和女生都有一个颜值打分他心里yy着想为这些单身狗们进行配对小明真是一个关心同学的人但小明认为配对同学的颜值之差不能超过5注意必须是一位男同学和一位女同学才能配对虽然小明对于可以配对的人数已经有了答案但他想考考你的编程能力因此他想请你帮他用编程算一下最多可以配对多少个人。(本题介绍仅作题目背景使用无任何其他观点)
输入
每个测试文件仅有一条测试数据。 第一行输入MN分别表示男同学的数量女同学的数量。(1M100,1N100) 第二行输入M个正整数分别表示男同学们的颜值。 第三行输入N个正整数分别表示女同学们的颜值。 注意所有人的颜值分数范围在[1,100]
输出
输出最多可以配对的总人数。
样例输入 Copy
5 4
10 65 23 67 80
5 15 60 90
样例输出 Copy
4
提示
样例中第一位男同学和第一位女同学配对第二位男同学和第三位女同学配对。
#include stdio.hstruct Node {int vi;int id;
};int cmp(const void* a, const void* b) {return ((struct Node*)a)-vi - ((struct Node*)b)-vi;
}int main() {int n, m;while (scanf(%d %d, n, m) 2) {struct Node a[n], b[m];for (int i 0; i n; i) {scanf(%d, a[i].vi);a[i].id i;}for (int i 0; i m; i) {scanf(%d, b[i].vi);b[i].id i;}qsort(a, n, sizeof(struct Node), cmp);qsort(b, m, sizeof(struct Node), cmp);int count 0;for (int i 0; i n; i) {int j 0;while (j m) {if (a[i].vi - b[j].vi 5 a[i].vi - b[j].vi -5 a[i].id ! -1 b[j].id ! -1) {count;a[i].id -1;b[j].id -1;break;}j;}}printf(%d\n, count * 2);}return 0;
}马的遍历问题
题目描述
在5*4的棋盘中马只能走斜“日”字。马从位置(x, y)处出发把棋盘的每一格都走一次且只走一次请找出所有路径。
输入
x,y表示马的初始位置。
输出
将每一格都走一次的路径总数如果不存在该路径则输出“No solution!”。 样例输入 Copy
1 1
2 2
样例输出 Copy
32
No solution!
def P(x,y,dep,fx,fy):global countfor i in range(0, 8):xx xfx[i]yy yfy[i]if xx 0 and xx 6 and yy 0 and yy 5 and a[xx][yy] 0:a[xx][yy] depif dep 20:count 1else:P(xx, yy, dep1, fx, fy)a[xx][yy] 0while True:x, y map(int, input().split())count 0fx [1,2,2,1,-1,-2,-2,-1]fy [2,1,-1,-2,-2,-1,1,2]a [[0 for j in range(5)]for i in range(6)]a[x][y] 1P(x, y, 2, fx, fy)if count 0:print(No solution!)else:print(count)
图的m着色问题
题目描述 给定无向连通图G和m种不同的颜色。用这些颜色为图G的各顶点着色每个顶点着一种颜色。是否有一种着色法使G中每条边的2个顶点着不同颜色请输出着色方案。
输入
输入第一行包含nmk分别代表n个结点m条边k种颜色接下来m行每行有2个数uv表示u和v之间有一条无向边,可能出现自环边所以请忽略自环边。
输出
输出所有不同的着色方案且按照字典序从小到大输出方案。
样例输入 Copy
3 3 3
1 2
1 3
2 3样例输出 Copy
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
def paint(b):print(b[0], end )for j in range(1, n):print(str(b[j]), end )print()def solve(i, n, k, a, b):if i n:for j in range(1, k1):flag 0for q in range(n):if a[i][q] 1 and b[q] j:flag 1if flag 0:b[i] jsolve(i1, n, k, a, b)b[i] 0else:paint(b)while True:n, m, k map(int, input().split())a [[0 for j in range(n)] for i in range(n)]b [0 for i in range(n)]for i in range(m):u, v map(int, input().split())a[u-1][v-1] 1a[v-1][u-1] 1solve(0, n, k, a, b)
素数环 题目描述 现有1,2,3...,n要求用这些数组成一个环使得相邻的两个整数之和均为素数要求你求出这些可能的环。 输入 输入正整数n。 输出 输出时从整数1开始逆时针输出同一个环只输出一次,且满足条件的环应按照字典序从小到大输出。注每一个环都从1开始。 样例输入 Copy span stylebackground-color:#ffffffspan stylecolor:#333333span stylecolor:#333333span stylebackground-color:#f5f5f56/span/span/span/span 样例输出 Copy span stylebackground-color:#ffffffspan stylecolor:#333333span stylecolor:#333333span stylebackground-color:#f5f5f51 4 3 2 5 6
1 6 5 2 3 4/span/span/span/span def paint(a):for j in range(n):print(a[j], end )print()def s(i, n, a, b):if i n:for j in range(1, n1):if b[j-1] 0:if i ! n-1:flag 0for k in range(2, a[i-1]j):if (a[i-1]j) % k 0:flag 1breakif flag 0:a[i] jb[j-1] 1s(i1, n, a, b)a[i] 0b[j-1] 0else:flag 0for k in range(2, a[i-1]j):if (a[i-1]j) % k 0:flag 1breakfor k in range(2, a[0]j):if (a[0]j) % k 0:flag 1breakif flag 0:a[i] jb[j-1] 1s(i1, n, a, b)a[i] 0b[j-1] 0else:paint(a)while True:n int(input())a [0] * nb [0] * na[0] 1b[0] 1s(1, n, a, b)