高精度数除以非高精度数
- #include
- long long b[66660],c[66660],sum=0;
- char a[66660];
- int n;
- int main(){
- scanf("%s",a);
- scanf("%d",&n);
- int len=strlen(a);
- for(int i=1;i<=len;i++){
- b[i]=a[i-1]-'0';
- }
- for(int i=1;i<=len;i++){
- c[i]=(b[i]+sum*10)/n;
- sum=(b[i]+sum*10)%n;
- }
- int flag=1;
- while(c[flag]==0&&flag
- for(int i=flag;i<=len;i++){
- printf("%lld",c[i]);
- }
- return 0;
- }
P1109 学生分组
如果总人数在范围内,就不用输出-1
我们先用一个数组存下每个组的初始人数
那么,只有人数小于下限或大于上限才要调整 所有组多出来的人数和所有组缺的人数分别记成x、y x、y中更大的那个调到在范围内的组和范围外的组 所以,输出x、y中多的那个就可以了
- #include
- using namespace std;
- int main(){
- int n,a[60],sum=0;
- scanf("%d",&n);
- for(int i=1;i<=n;i++){
- scanf("%d",&a[i]);
- sum+=a[i];
- }
- int left,right,suma=0,sumb=0;
- scanf("%d %d",&left,&right);
- for(int i=1;i<=n;i++){
- if(a[i]
- suma+=left-a[i];
- }
- else if(a[i]>right){
- sumb+=a[i]-right;
- }
- }
- if(sum
n*right){ - printf("-1");
- return 0;
- }
- int ans=max(suma,sumb);
- printf("%d",ans);
- return 0;
- }
P2708 硬币翻转
当这一个硬币与下一个硬币不同时,这一个硬币连同它之前的硬币一起翻转
翻转至与下一个硬币相同的一面
直到将所有硬币翻转到同一面
但这里还有一个点要注意:
题目要求所有硬币正面朝上,也就是所有面都是'1'的情况,才算完成
我们就再把全部硬币翻转一次
那么这道题就好解决了
- #include
- using namespace std;
- int main(){
- string str;
- cin>>str;
- int cnt=0;
- for(int i=0;i
size()-1;i++){ - if(str[i]!=str[i+1])cnt++;
- }
- if(str[str.size()-1]=='0')cnt++;
- printf("%d",cnt);
- return 0;
- }
P1421 小玉买文具
水题,会写hello world都会写这个
- #include
- using namespace std;
- int main(){
- int x,y;
- cin>>x>>y;
- int sum=x*10+y;
- int nunm=sum/19;
- cout<
- return 0;
- }
P1060 [NOIP2006 普及组] 开心的金明
01背包问题,对着模板来就行了
- #include
- using namespace std;
- int w[31],s[31],dp[30009];
- int main(){
- int n,m;
- scanf("%d %d",&m,&n);
- for(int i=1;i<=n;i++){
- scanf("%d %d",&w[i],&s[i]);
- }
- for(int i=1;i<=n;i++){
- for(int j=m;j>=w[i];j--){
- dp[j]=max(dp[j],dp[j-w[i]]+w[i]*s[i]);
- }
- }
- cout<
- return 0;
- }
B3849 [GESP样题 三级] 进制转换
经典的精致转换,这里也是把我的板子献上
- #include
- using namespace std;
- int main()
- {
- int a, b, cnt = 0;
- char arr[320] = { 0 };
- scanf("%d %d",&a,&b);
- while (a > 0) {
- int c = a % b;
- if (c > 9) {
- arr[cnt++] = (char)(c + 55);
- }
- else {
- arr[cnt++] = (char)(c + 48);
- }
- a /= b;
- }
- for (int j = cnt - 1; j >= 0; j--){
- cout << arr[j];
- }
- return 0;
- }
-
相关阅读:
计及电池储能寿命损耗的微电网经济调度(matlab代码)
面试题库(十三):场景和设计
高薪程序员&面试题精讲系列133之微服务里的网关有哪些实现方案?你熟悉Gateway网关吗?
机器学习笔记之线性分类——线性判别分析(一)模型构建思路
[DB]数据库--lowdb
数字IC设计面试题目集21~46
DataX更新null值到ElasticSearch不生效的问题
TextureView和SurfaceView
Mac安装opencvJava踩坑
如何生成一个足够安全又容易记住的密码?
-
原文地址:https://blog.csdn.net/2301_80441657/article/details/136265179