四川兴昌建设有限公司网站,景区网站建设策划书,域名怎么绑定网站,平板怎么做网页#x1f680;write in front#x1f680; #x1f4dd;个人主页#xff1a;认真写博客的夏目浅石. #x1f381;欢迎各位→点赞#x1f44d; 收藏⭐️ 留言#x1f4dd; #x1f4e3;系列专栏#xff1a;夏目的作业 #x1f4ac;总结#xff1a;希望你看完之后write in front 个人主页认真写博客的夏目浅石. 欢迎各位→点赞 收藏⭐️ 留言 系列专栏夏目的作业 总结希望你看完之后能对你有所帮助不足请指正共同学习交流 ✉️如果无聊的话就来逛逛我的博客栈吧stack-frame.cn 文章目录前言6-1 不一样的A-B6-2 不一样的斐波那契数列6-3 反素数6-4 范围水仙花数6-5 公约数和公倍数6-6 进制转换6-7 绝对值排序6-8 连接字符串6-9 求次方6-10 求阶乘6-11 求母牛数6-12 求素数6-13 求最大值6-14 数字求和6-15 数字转换6-16 巫妖王的愤怒6-17 字符串逆序6-18 字母统计结语前言
我是夏目浅石本次作业将由我来给大家讲解第六章作业希望大家可以吃透这些题目遇见更好的自己 6-1 不一样的A-B
题目描述
/*
大致题意给定两个数字n,m,然后从 a数组 里面找 b数组 一样的数字进行删除
如果 不一样的 就直接从小到大输出 若全部被删除 就输出NULL
*/void cn(int n,int m)
{int a[110],b[110],c[110];int k0;//输入部分for(int i0;in;i) scanf(%d,a[i]);for(int j0;jm;j) scanf(%d,b[j]);//算法设计部分/*写下我的思路1.遍历 数组a 2.把不一样的 存放到新数组 c数组 里面 方法flag标记法3.排序输出 c数组 里面的内容*///遍历存放for(int i0;in;i){int flag0;for(int j0;jm;j){if(a[i]b[j]){flag1;break;}}if(flag0) c[k]a[i];}//判断是否为NULLif(k0) printf(NULL\n);else{//显然对于 c数组 进行排序//冒泡排序for(int i0;ik-1;i){int j0;for(j0;jk-1-i;j){if(c[j]c[j1]){int tmpc[j];c[j]c[j1];c[j1]tmp;}}}//输出部分for(int i0;ik;i) printf(%d ,c[i]);}
}6-2 不一样的斐波那契数列
题目描述
/*
大致题意类似于 斐波那契数列 考察你的递归 but 变化了f1f2.
*/int cn(int n)
{//设置新的起始值int f17,f211,f;//讨论情况if(n0)return f1;if(n1)return f2;elsefcn(n-1)cn(n-2);return f;
}
6-3 反素数 /*
基础知识
1.素数的定义素数是指在大于1的自然数中除了1和它本身以外不再有其他因数的自然数。
2.反素数的定义在一个区间内因子最多的数(并且因子个数相同的时候值最小)所以反素数是相对于一个集合来说的。题目意思就是在一个区间里面 找到 谁的因子 最多 然后不断迭代。
*/int cn(int a,int b)
{//定义 初始化int ans0,maxa;//遍历区间 [a,b]for(int ia;ib;i){int cnt0; //记录 因子个数 for(int j2;ji;j) //暴力 遍历求因子{ //优化 ji/2if(i%j0) cnt;}//这里 ans 表示 我所记录的上一个 因子个数的最大值if(cntans){anscnt;maxi;}}return max;//返回 这个满足因子个数 最多的数。
}
//---------------------手动分界线-------------------------------
//求素数 函数---暴力
void isprime(int n)
{for(int i2;i*in;i){int j0;for(j2;ji;j){if(i%j0) break;}if(ji) printf(%d ,i);else continue;}
}6-4 范围水仙花数 //考察 水仙花数
int cn(int n,int m)
{int s,k0;int book[1000];for(int in;im;i){int ji,s0;while(j){s(j%10)*(j%10)*(j%10);j/10;}if(is) book[k]i;}if(k){printf(%d,book[0]);for(int i1;ik;i) printf( %d,book[i]);return 1;}else return 0;
}
6-5 公约数和公倍数 /*
题目意思求出来 公约数 公倍数
*/
//方法辗转相除法---课本 P148 例 4-21
long long cn(long long a,long long b)
{long long r,t;while(ra%b)ab,br;return b;
}//-----------------------手动分割线----------------------
/*
知识总结二种方法求解此类问题
*/
//递归实现
int gcd(int a,int b)//计算最大公约数---递归法
{if (b0)return a;int r a%b;return gcd(b,r); //当然这一种可以写成 逗号表达式的 形式。
}
//辗转相除实现
int gcd(int a,int b) //计算最大公约数---辗转相除法
{int t;while(b 0){t a % b;a b;b t;}return a;
}
6-6 进制转换 /*
题目大意对于一个数字n 进行 转换成 r进制数
*/int cn(int n,int r)
{int k0;if(r1r10){while(n){s[k]n%r48;//int类型--char类型 需要 ’0‘ 或者 48n/r;}}else{while(n){int jn%r;n/r;if(j9) s[k]j55; //对于大于9的 就要 从十开始 变成 字母了//然后 9到16 差了7 所以要在 48基础上 多 7else s[k]j48;}}return k;
}
6-7 绝对值排序 /*
题目大意在有 绝对值的前提下 进行从大到小 排序
*/void cn(int a[],int n)
{//输入for(int i0;in;i) scanf(%d,a[i]);//冒泡排序abs函数的使用for(int i0;in-1;i){int j0;for(j0;jn-1-i;j){if(abs(a[j])abs(a[j1])){int tmpa[j];a[j]a[j1];a[j1]tmp;}}}//输出for(int i0;in;i){if(i!n-1)printf(%d ,a[i]);else printf(%d,a[i]);}
}
6-8 连接字符串 /*
题目大意将 两个字符串 进行链接
*/void cn(char s[],char b[])
{int i0,j0;while(s[i]) i;//先把 s数组本身的字符 走到末尾while(b[j]) s[i]b[j]; //加入新的字符//下面这个 ’\0‘ 一定要重视 printf函数以 %s 打印是以 \0 进行停止的s[i]\0;
}
6-9 求次方 /*
题目大意求一个数字n的m次方
*/
long long cn(long long x,long long y)
{long long sum1;//暴力叠乘for(int i1;iy;i){sum*x;}return sum;
}6-10 求阶乘 /*
题目大意用递归的方法求整数x的阶乘。
*/
//暴力方法
long long cn(int x)
{long long sum1;for(int i1;ix;i) {sum*i;}return sum;
}
//递归方法
long long cn(int x)
{if(x1)return 1;return x*cn(x-1);
}6-11 求母牛数 //思维题一道
void cn(int a[])
{//类似于斐波那契但是要找规律a[1]1,a[2]2,a[3]3;for(int i4;i55;i){a[i]a[i-3]a[i-1];}
}
6-12 求素数 //暴力 求素数
int cn(long long x)
{if(x1) return 0;for(int i2;i*ix;i)if(x%i0) return 0;return 1;
}6-13 求最大值 //暴力求最大值
int cn(int a[],int n)
{int mxa[0],i;for(i1;in;i)mxa[i]mx?a[i]:mx;return mx;
}//递归求最大值
int cn(int a[],int n)
{int m;if(n1) return a[0];//结束递归条件else{mcn(a,n-1);//继续递归return a[n-1]m?a[n-1]:m;//返回最大值}
}
6-14 数字求和 //暴力求解数字和
void cn(int n,int ans)
{while(n)ans n %10,n/10;printf(%d\n,ans);
}//递归求解数字和void cn(int n,int ans)
{if(n10){ansn;printf(%d\n,ans);}else{ans(n%10);cn(n/10,ans);}
}6-15 数字转换 //其实就是对 偶数 和 奇数的 不同操作
void cn(long long x)
{while(x!1){printf(%lld ,x);if(x%2) xx*31;else x/2;}printf(%lld ,x);
}6-16 巫妖王的愤怒 void cn(int n)
{int mn;//% 之后余下的越多 就说明不行 所以就换一种商品购买if(n300) mnn%150n%200?n%200:n%150;else mnn%50;printf(%d\n,mn);return 0;
}6-17 字符串逆序 void cn(char s[])
{int left0,rightstrlen(s)-1;while(leftright){char tmps[left];s[left]s[right];s[right]tmp;right--;left;}return;
}6-18 字母统计 void cn(char s[])
{for(int i0;s[i];i){if(s[i]As[i]Z){num1;}else if(s[i]as[i]z){num2;}}
}
结语
我是夏目浅石希望和你一起学习进步刷题无数希望各位大佬能一键三连支持一下博主hhhh~我们下期见喽 如果无聊的话就来逛逛我的博客栈吧stack-frame.cn ✨原创不易还希望各位大佬支持一下\textcolor{blue}{原创不易还希望各位大佬支持一下}原创不易还希望各位大佬支持一下 点赞你的认可是我创作的动力\textcolor{9c81c1}{点赞你的认可是我创作的动力}点赞你的认可是我创作的动力 ⭐️ 收藏你的青睐是我努力的方向\textcolor{ed7976}{收藏你的青睐是我努力的方向}收藏你的青睐是我努力的方向 ✏️ 评论你的意见是我进步的财富\textcolor{98c091}{评论你的意见是我进步的财富}评论你的意见是我进步的财富