蓝桥杯算法——基础题(打卡第30天)

0ms 2023-03-08 21:47:38

                                                            01.任意进制转换(16进制以内)

输入:16 2 

//代表将16 转换成2进制数

代码:

#include<stdio.h>
char d[16] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
void fun(int n, int k) {
	int r = 0;
	r = n % k;
	n = n / k;
	if (n != 0) fun(n, k);
	printf("%c", d[r]);

}
int main() {
	int l, m; 
	while (scanf("%d%d", &l, &m) != EOF) {
		fun(l, m);
	}
	return 0;

}

运行:

                                                          02.分解质因子

直接上代码:

//分解质因数
#include<stdio.h>
#include<math.h>
int fun(int n) {
	for (int i = 2; i <= sqrt(n); i++) {
		if (n % i == 0) return 1;

	}
	return 0;
}
void funl(int n) {
	int m = n;
	for (int j = 2; j <= sqrt(n); j++) {
		while (m % j == 0) {
			printf("%d", j);
			if(m/j>=2)
			printf("*"); 
			m = m / j;
			
		}
	}
}
int main() {
	int n;
	scanf("%d", &n);
	int c = fun(n);
	if (c) funl(n);
	else printf("不是合数");
	return 0;


}

 运行

                                                          03.   筛选质数

      

直接上代码:     

//方法一:朴素筛法的优化:(时间复杂度优化到O(sqrt(n))
#include<stdio.h>
#include<math.h>
int  fun(int n) {
	if(n<=1) return 0;
	for (int i = 2; i <= n/i; i++) {//也可以用for(int i=2;i<=sqrt(n);i++) 
		if (n % i == 0)
			return 0;
	}
	return 1;
}
int main() {
	int n;
	while (scanf("%d", &n) != EOF) {
		if (fun(n))
			printf("yes\n");
		else printf("no\n");
	}
	return 0;
}
//方法二:朴素筛法(时间复杂度O(n))
//#include<stdio.h>
//#include<math.h>
//int  fun(int n) {
//	if(n<=1) return 0;
//	for (int i = 2; i <= n/i; i++) {
//		if (n % i == 0)
//			return 0;
//	}
//	return 1;
//}
//int main() {
//	int n;
//	while (scanf("%d", &n) != EOF) {
//		if (fun(n))
//			printf("yes\n");
//		else printf("no\n");
//	}
//	return 0;
//}

运行

 

 

       总结  代码很基础,一定掌握!                                     

...全文
165 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

30,338

社区成员

发帖
与我相关
我的任务
社区描述
打造最热爱学习的高校社区,帮助大家提升计算机领域知识,带大家打比赛拿奖,提高自我,希望大家共同创造良好的社区氛围。
社区管理员
  • 川川菜鸟
  • 亡心灵
  • 星辰菜鸟
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

监督大家学习,每日学习打卡,以投稿形式打卡。扫码关注公众号,可加入粉丝群和领取大量资源。

试试用AI创作助手写篇文章吧