PTA乙级 (1057 数零壹 (20分))

1057 数零壹 (20分)

https://pintia.cn/problem-sets/994805260223102976/problems/994805270914383872

第一次:段错误

 错误代码:

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <string>
 4 #include <cmath>
 5 #include <algorithm>
 6 #include <iostream>
 7 using namespace std;
 8 int main()
 9 {
10     int arr[10]={0},arr1[3]={0};
11     int i=0,j=0,k=0,sum=0;
12     string str;
13     getline(cin,str);
14     for(i=0;i<str.length();i++)
15     {
16         if(str[i]>=‘a‘&&str[i]<=‘z‘)
17         {
18             arr[k]=str[i]-‘a‘+1;
19             k++;
20         }
21         else if(str[i]>=‘A‘&&str[i]<=‘Z‘)
22         {
23             arr[k]=str[i]-‘A‘+1;
24             k++;
25         }
26     }
27     for(i=0;i<k;i++) sum+=arr[i];
28     while(sum>0)
29     {
30         int temp=sum%2;
31         arr1[temp]++;
32         sum/=2;
33     }
34     cout<<arr1[0]<<" "<<arr1[1]<<endl;
35     return 0;
36 }

第二次:AC

 正确代码:

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <string>
 4 #include <cmath>
 5 #include <algorithm>
 6 #include <iostream>
 7 using namespace std;
 8 int main()
 9 {
10     int sum=0;
11     string str;
12     getline(cin,str);
13     for(int i=0;i<str.length();i++)
14     {
15         if(str[i]>=‘a‘&&str[i]<=‘z‘) sum+=str[i]-‘a‘+1;
16         else if(str[i]>=‘A‘&&str[i]<=‘Z‘) sum+=str[i]-‘A‘+1;
17     }
18     int count0=0,count1=0;
19     while(sum>0)
20     {
21         int temp=sum%2;
22         if(temp==0) count0++;
23         else count1++;
24         sum/=2;
25     }
26     cout<<count0<<" "<<count1<<endl;
27     return 0;
28 }

原文地址:https://www.cnblogs.com/jianqiao123/p/12227566.html

时间: 2024-11-05 18:58:34

PTA乙级 (1057 数零壹 (20分))的相关文章

PAT乙级:1057 数零壹 (20分)

PAT乙级:1057 数零壹 (20分) 题干 给定一串长度不超过 105 的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N 的二进制表示中有多少 0.多少 1.例如给定字符串 PAT (Basic),其字母序号之和为:16+1+20+2+1+19+9+3=71,而 71 的二进制是 1000111,即有 3 个 0.4 个 1. 输入格式: 输入在一行中给出长度不超过 105.以回车结束的字符串. 输出格式: 在

1057 数零壹 (20 分)

题目:1057 数零壹 (20 分) 给定一串长度不超过 1 的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N 的二进制表示中有多少 0.多少 1.例如给定字符串 PAT (Basic),其字母序号之和为:16+1+20+2+1+19+9+3=71,而 71 的二进制是 1000111,即有 3 个 0.4 个 1. 输入格式: 输入在一行中给出长度不超过 1.以回车结束的字符串. 输出格式: 在一行中先后输出 0

PAT乙级-1057. 数零壹(20)

给定一串长度不超过105的字符串,本题要求你将其中所有英文字母的序号(字母a-z对应序号1-26,不分大小写)相加,得到整数N,然后再分析一下N的二进制表示中有多少0.多少1.例如给定字符串"PAT (Basic)",其字母序号之和为:16+1+20+2+1+19+9+3=71,而71的二进制是1000111,即有3个0.4个1. 输入格式: 输入在一行中给出长度不超过105.以回车结束的字符串. 输出格式: 在一行中先后输出0的个数和1的个数,其间以空格分隔. 输入样例: PAT (

PAT Basic 1057 数零壹 (20 分)

给定一串长度不超过 1 的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N 的二进制表示中有多少 0.多少 1.例如给定字符串 PAT (Basic),其字母序号之和为:16+1+20+2+1+19+9+3=71,而 71 的二进制是 1000111,即有 3 个 0.4 个 1. 输入格式: 输入在一行中给出长度不超过 1.以回车结束的字符串. 输出格式: 在一行中先后输出 0 的个数和 1 的个数,其间以空格分隔

1057. 数零壹(20)

1057. 数零壹(20) 给定一串长度不超过105的字符串,本题要求你将其中所有英文字母的序号(字母a-z对应序号1-26,不分大小写)相加,得到整数N,然后再分析一下N的二进制表示中有多少0.多少1.例如给定字符串"PAT (Basic)",其字母序号之和为:16+1+20+2+1+19+9+3=71,而71的二进制是1000111,即有3个0.4个1. 输入格式: 输入在一行中给出长度不超过105.以回车结束的字符串. 输出格式: 在一行中先后输出0的个数和1的个数,其间以空格分

PTA乙级 (1013 数素数 (20分))

1013 数素数 (20分) https://pintia.cn/problem-sets/994805260223102976/problems/994805309963354112 #include <iostream> #include <cstdio> #include <cstring> #include <string> #include <cmath> #include <algorithm> #include <

PAT乙级 1013. 数素数 (20)

1013. 数素数 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 令Pi表示第i个素数.现任给两个正整数M <= N <= 104,请输出PM到PN的所有素数. 输入格式: 输入在一行中给出M和N,其间以空格分隔. 输出格式: 输出从PM到PN的所有素数,每10个数字占1行,其间以空格分隔,但行末不得有多余空格. 输入样例: 5 27 输出样例: 11 13 17 19 23 29 31 37 4

[PTA] PAT(A) 1008 Elevator (20 分)

目录 Problem Description Input Output Sample Sample Input Sample Output Solution Analysis Code Problem portal: 1008 Elevator (20 分) Description  The highest building in our city has only one elevator. A request list is made up with $N$ positive numbers

PAT乙级1072-----开学寄语 (20分)

1072 开学寄语 (20分) 输入样例: 4 2 2333 6666 CYLL 3 1234 2345 3456 U 4 9966 6666 8888 6666 GG 2 2333 7777 JJ 3 0012 6666 2333 输出样例: U: 6666 6666 GG: 2333 JJ: 6666 2333 3 5 思路:1.用数组下标表示违禁物品编号2.不满4位数要补0,例如:编号12输出时为0012 首次通过代码: 1 #include<stdio.h> 2 3 int main(