@rg070836rg
2019-01-23T15:32:50.000000Z
字数 1915
阅读 817
tmooc
1697 换算器
#include<iostream>
#include<iomanip>
using namespace std;
/*
返回值类型 函数名(参数类型 参数名字)
{
函数体内容(包含返回语句)
}
*/
float get(float x)
{
float bang = x * 2.2046226;
return bang;
}
int main(){
int k;
cin>>k;
cout<<fixed<<setprecision(4)<<get(k)<<endl;//保留小数位数 调用get函数
return 0;
}
1698 统计质数
#include<iostream>
using namespace std;
bool isSushu(int x)
{
//数字1不是素数,特殊判断,直接返回false
if(x==1) return false;
//其他数 检查从2~x-1 能否有被整除的
for(int i=2;i<x;i++)
{
if(x%i==0) //如果存在被整除的,则不是素数,返回false
return false;
}
return true;//否则 到这里 所有的情况都检查通过 返回true
}
int main(){
int n,x;
cin>>n;
for(int i=0;i<n;i++) //按题目要求 读入n个数据
{
cin>>x;
if(isSushu(x)) //对每一个数据进行判断,如果是素数 则输出
cout<<x<<" ";
}
return 0;
}
1699 插队
#include<iostream>
using namespace std;
int paidui(){
int n,x;//n为人数,x为小童身高
cin>>n>>x;
int t[n];//用来保存 每次读进来的身高
for(int i=0;i<n;i++) //录入数据
{
cin>>t[i];
}
for(int i=0;i<n;i++) //存好数据后,遍历数据,查找结果
{
if(x<=t[0]) //如果小童比第一个人还要矮,直接返回位置1
return 1;
if(x>t[i] && x<=t[i+1])//按照题目意思,如果 小童的身高 比前一个人大,
//并且小于等于后一个人,则找到所在位置,
{
return i+1+1;//返回结果,注意 数组从0开始,先加1,由于找到的位置在i+1,所以结果是i+1+1
}
}
return n+1;//如果整个队伍里面没有符合要求的位置,则返回最后一个位置
}
int main(){
cout<<paidui()<<endl;
return 0;
}
1700 回文质数
#include<iostream>
using namespace std;
bool isZhishu(int x)
{
//数字1不是素数,特殊判断,直接返回false
if(x==1) return false;
//其他数 检查从2~x-1 能否有被整除的
for(int i=2;i<x;i++)
{
if(x%i==0) //如果存在被整除的,则不是素数,返回false
return false;
}
return true;//否则 到这里 所有的情况都检查通过 返回true
}
bool isHuiwen(int x)
{
int t = x; //用t保存原来需要判断的数字x
int sum=0;//用来保存拼接的数字
while(t!=0)//处理所有的位数
{
sum=sum*10+t%10; //sum 每次先扩大10倍,再加上每次读入的个位数
t/=10;
}
/*
if(sum==x) //如果新拼成的数字sum与给定的x相等,则返回true
return true;
else //否则返回false
return false;
*/
return sum==x; //这一句话 相当于上面的4行
}
int main(){
int a,b;//题目中的区间范围
cin>>a>>b;//录入数据
for(int i=a;i<=b;i++){//枚举i 从a~b
if(isZhishu(i) && isHuiwen(i)) //如果既是质数 又是回文数,则满足题目要求的回文质数
cout<<i<<endl; //每行输出一个
}
return 0;
}
1712 数根
#include<iostream>
using namespace std;
//获得x的每一位的和 例如输入x=345 返回12
int getSum(int x)
{
//思路和前面的一样,取出每一位,累加即可
int sum=0;
while(x!=0)
{
sum+=x%10;
x/=10;
}
return sum;
}
int main(){
long long x;//录入数据
cin>>x;
//题目说 如果不是一位数 就一直算下去,所以我们使用while循环,直到x为一位数
while(x>9)
x = getSum(x);
cout<<x;
return 0;
}