if(x%j=0) sum =sum +j; sum=sum+x;/如果数j为x的因子,则xj也为j的因子 } if(sum=x&&x!=1) cout <<x<<"is perfect"<<endl; else cout <<x <<"is not perfect"<<endl; } 3判断一个数是否是质数 #include<bits/stdc++.h> using namespace std; int main() int num; intx∥用x的值为1或者0来判断是否是质数(1除外) cin>num;/除1以外 int i; x=1;/思考:为什么需要初始化? for(i=2;i<=num-1;i++) { if(num%i=0) X=0; break∥只要找到一个质数,就不用再找了 } if(x==1)cout <<"yes"<<endl;
{ if( x % j == 0) { sum = sum +j; sum = sum + x/j; //如果数 j 为 x 的因子,则 x/j 也为 j 的因子 } } if( sum == x && x!= 1) { cout <<x << " is perfect" << endl; } else { cout <<x <<" is not perfect" <<endl; } } } 3 判断一个数是否是质数 #include<bits/stdc++.h> using namespace std; int main() { int num; int x; //用 x 的值为 1 或者 0 来判断是否是质数(1 除外) cin >> num; //除 1 以外 int i; x = 1;//思考:为什么需要初始化? for( i = 2; i <= num -1; i ++) { if( num % i == 0) { x = 0; break;//只要找到一个质数,就不用再找了 } } if(x == 1) cout << "yes" <<endl;
if(x=0)cout <<"no"<<endl; return 0: 4求出200以内的所有质数 在上面代码的基础上,让上面的代码执行200次(1除外) #include<bits/stdc++.h> using namespace std; int main() { int num; itx1∥用x的值为1或者0来判断是否是质数(1除外) int i; for(num=2;num <=200;num++) { x=1;∥思考:为什么需要初始化? for(i=2;i<=num -1;i+) if(num %i==0) X=0: break:∥只要找到一个质数,就不用再找了 ifx=1)cout<num<<"";∥如果是质数,就输出 } return 0: 51.5--21角谷猜想 所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以 2,得到的结果再按照上述规则重复处理,最终总能够得到1。如,假定初始整数为5,计算 过程分别为16、8、4、2、1。 程序要求输入一个整数,将经过处理得到1的过程输出来。 输入 一个正整数NN<=2,000,000) 输出
if( x == 0) cout <<"no" <<endl; return 0; } 4 求出 200 以内的所有质数 在上面代码的基础上,让上面的代码执行 200 次(1 除外) #include<bits/stdc++.h> using namespace std; int main() { int num; int x; //用 x 的值为 1 或者 0 来判断是否是质数(1 除外) int i; for(num = 2; num <= 200 ; num ++) { x = 1;//思考:为什么需要初始化? for( i = 2; i <= num -1; i ++) { if( num % i == 0) { x = 0; break;//只要找到一个质数,就不用再找了 } } if(x == 1) cout << num <<" "; //如果是质数,就输出 } return 0; } 5 1.5----21 角谷猜想 所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘 3 加 1,如果是偶数,则除以 2,得到的结果再按照上述规则重复处理,最终总能够得到 1。如,假定初始整数为 5,计算 过程分别为 16、8、4、2、1。 程序要求输入一个整数,将经过处理得到 1 的过程输出来。 输入 一个正整数 N(N <= 2,000,000) 输出
从输入整数到1的步骤,每一步为一行,每一部中描述计算过程。最后一行输出"Ed"。 如果输入为l,直接输出"End"。 样例输入 5 样例输出 5*3+1=16 16/2=8 8/2=4 4/2=2 2/2=1 End #include<bits/stdc++.h> using namespace std; int main() { long long num; cin >num; for(:num !=1: if(num%2==0 { cout <<num<<"/2="; num num /2; cout <num <<endl: } if(num %2 =1) { cout<<num<"*3+1="; num=num 3+1; cout <num <<endl; } cout <<"End"<<endl; return 0;
从输入整数到 1 的步骤,每一步为一行,每一部中描述计算过程。最后一行输出"End"。 如果输入为 1,直接输出"End"。 样例输入 5 样例输出 5*3+1=16 16/2=8 8/2=4 4/2=2 2/2=1 End #include<bits/stdc++.h> using namespace std; int main() { long long num; cin >> num; for(;num != 1;) { if( num % 2 == 0 ) { cout <<num << "/2="; num = num /2; cout << num <<endl; } if( num % 2 == 1 ) { cout <<num<<"*3+1=" ; num = num * 3 + 1; cout << num <<endl; } } cout << "End"<<endl; return 0; }
61.5-24测量血压 描述 监护室每小时测量一次病人的血压,若收缩压在90-140之间并且舒张压在60-90之间(包 含端点值)则称之为正常,现给出某病人若干次测量的血压值,计算病人保持正常血压的最 长小时数。 输入 第一行为一个正整数n,n<100 其后有行,每行2个正整数,分别为一次测量的收缩压和舒张压,中间以一个空格分隔。 输出 输出仅一行,血压连续正常的最长小时数。 样例输入 4 10080 9050 12060 14090 样例输出 2 #include<bits/stdc++.h>/C++的万能头文件 using namespace std; int main() { int n; cin >n; int hl.h2: int hour=0: int max =0; for(inti=1:i<=n:i++) { cin >hl>>h2; if(h1>=90&&h1<=140)&&(h2>=60&&h2<=90) hour++; if(max hour) max=hour;
6 1.5--24 测量血压 描述 监护室每小时测量一次病人的血压,若收缩压在 90 - 140 之间并且舒张压在 60 - 90 之间(包 含端点值)则称之为正常,现给出某病人若干次测量的血压值,计算病人保持正常血压的最 长小时数。 输入 第一行为一个正整数 n,n < 100 其后有 n 行,每行 2 个正整数,分别为一次测量的收缩压和舒张压,中间以一个空格分隔。 输出 输出仅一行,血压连续正常的最长小时数。 样例输入 4 100 80 90 50 120 60 140 90 样例输出 2 #include <bits/stdc++.h> //C++的万能头文件 using namespace std; int main() { int n; cin >> n; int h1,h2; int hour = 0; int max = 0; for(int i = 1; i <= n ; i ++) { cin >> h1 >> h2; if(( h1 >= 90 && h1 <= 140) && (h2 >= 60 && h2 <= 90)) { hour ++; if( max < hour) { max = hour; }
else hour =0: cout <max <endl; 71.5-26求满足条件的四位数 描述 给定若干个四位数,求出其中满足以下条件的数的个数: 个位数上的数字减去千位数上的数字,再减去百位数上的数字,再减去十位数上的数字的 结果大于零。 输入 输入为两行,第一行为四位数的个数,第二行为n个的四位数,数与数之间以一个空格分 开。(n<=100) 输出 输出为一行,包含一个整数,表示满足条件的四位数的个数。 样例输入 5 12341349611921235017 样例输出 3 #include<bits/stdc++.h>/C++的万能头文件 using namespace std; int main() { int n,x; int count =0: cin>>n: for(inti=1;i<=n;i++) cin>>x; inta=x/1000:/∥千位
} else { hour = 0; } } cout << max << endl; } 7 1.5--26 求满足条件的四位数 描述 给定若干个四位数,求出其中满足以下条件的数的个数: 个位数上的数字减去千位数上的数字,再减去百位数上的数字, 再减去十位数上的数字的 结果大于零。 输入 输入为两行,第一行为四位数的个数 n,第二行为 n 个的四位数,数与数之间以一个空格分 开。(n <= 100) 输出 输出为一行,包含一个整数,表示满足条件的四位数的个数。 样例输入 5 1234 1349 6119 2123 5017 样例输出 3 #include <bits/stdc++.h> //C++的万能头文件 using namespace std; int main() { int n,x; int count = 0; cin >> n; for(int i = 1; i <= n ; i ++) { cin >> x; int a = x / 1000;// 千位