天梯题目解答--通过初赛 3数论-4进制转换
2013-08-28 16:41
239 查看
1430. 素数判断
题目描述 Description
质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。
注:(1)1既不是质数也不是合数。因为它的约数有且只有1这一个约数。
(2)2和3是所有素数中唯一两个连着的数 .
输入描述
第一行输入一个正整数n,n<=30000
输出描述
如果该数是质数,则输出\t
否则输出\n
代码:记住一个范围就好sqrt(n),其他就是输出\n和\t,因为\转义字符的缘故这里要输出的东西前面加上\
1212 最大公约数
题目描述 Description
求两个数A和B的最大公约数。 1<=A,B<=2^31-1
输入描述
两个整数A和B
输出描述
最大公约数gcd(A,B)
我的代码
不过我这样还不是最简单的 ,因为每次都是a-b实际上还是很慢的,如果用上余数那么就应该是最简单的了
int Gcd(int a, int b)
{
if(b == 0)
return a;
return Gcd(b, a % b);
}
1012 最大公约数和最小公倍数问题
题目描述 Description
输入二个正整数x0,y0(2<=x0<100000,2<=y0<=1000000),求出满足下列条件的P,Q的个数
条件: 1.P,Q是正整数
2.要求P,Q以x0为最大公约数,以y0为最小公倍数.
试求:满足条件的所有可能的两个正整数的个数.
输入描述
二个正整数x0,y0
输出描述
满足条件的所有可能的两个正整数的个数
代码主要需要注意的是:当x,y存在0或者不能够整除的时候直接是0输出,之后的计算可以这样想,因为x为公约数,y为公倍数,那么y/x能够整除,且p,q两个数除以公约数x后的结果相乘应该等于y/x,同时p/x和q/x不应该有除了1之外的公约数,因为如果有,假设为m,那么p,q的公约数就应该为x*m,此外,这里还牵扯一个交换问题,就是p!=q的时候,可以交换p q
1475 m进制转十进制
题目描述 Description
将m进制数n转化成一个十进制数 m<=16
题目保证转换后的十进制数<=100
输入描述
共一行
n和m
输出描述
共一个数
表示m进制的n化成十进制的数
1474 m进制转十进制
题目描述 Description
将m进制数n转化成一个十进制数 m<=16
题目保证转换后的十进制数<=100
输入描述
共一行
n和m
输出描述
共一个数
表示n的m进制
显示逆序求的转化的数值,然后再输出,注意输出10以上的时候转换为A~F
题目描述 Description
质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。
注:(1)1既不是质数也不是合数。因为它的约数有且只有1这一个约数。
(2)2和3是所有素数中唯一两个连着的数 .
输入描述
第一行输入一个正整数n,n<=30000
输出描述
如果该数是质数,则输出\t
否则输出\n
代码:记住一个范围就好sqrt(n),其他就是输出\n和\t,因为\转义字符的缘故这里要输出的东西前面加上\
#include<iostream> #include<cmath> using namespace std; int main(){ int n; cin>>n; if(n==1){ cout<<"\\n"; return 0; } for(int i=2;i<=sqrt(n);i++){ if(0==n%i){ cout<<"\\n"; return 0; } } cout<<"\\t"; }
1212 最大公约数
题目描述 Description
求两个数A和B的最大公约数。 1<=A,B<=2^31-1
输入描述
两个整数A和B
输出描述
最大公约数gcd(A,B)
我的代码
#include<iostream> using namespace std; template <typename T> T gcd(T a, T b){ if(a<b){ a = a^b; b = a^b; a = a^b; } if(0==a%b) return b; else return gcd(a-b,b); } int main(){ int a,b; cin>>a>>b; cout<<gcd(a,b); }
不过我这样还不是最简单的 ,因为每次都是a-b实际上还是很慢的,如果用上余数那么就应该是最简单的了
int Gcd(int a, int b)
{
if(b == 0)
return a;
return Gcd(b, a % b);
}
1012 最大公约数和最小公倍数问题
题目描述 Description
输入二个正整数x0,y0(2<=x0<100000,2<=y0<=1000000),求出满足下列条件的P,Q的个数
条件: 1.P,Q是正整数
2.要求P,Q以x0为最大公约数,以y0为最小公倍数.
试求:满足条件的所有可能的两个正整数的个数.
输入描述
二个正整数x0,y0
输出描述
满足条件的所有可能的两个正整数的个数
代码主要需要注意的是:当x,y存在0或者不能够整除的时候直接是0输出,之后的计算可以这样想,因为x为公约数,y为公倍数,那么y/x能够整除,且p,q两个数除以公约数x后的结果相乘应该等于y/x,同时p/x和q/x不应该有除了1之外的公约数,因为如果有,假设为m,那么p,q的公约数就应该为x*m,此外,这里还牵扯一个交换问题,就是p!=q的时候,可以交换p q
#include<iostream> #include<cmath> using namespace std; template <typename T> T Gcd(T a, T b){ if(b == 0) return a; return Gcd(b, a % b); } int main(){ int x,y; cin>>x>>y; if((0==x||0==y) || 0!=y%x || y<x) {cout<<0; return 0;} int n=y/x,num=0; for(int i=1;i<=sqrt(n);i++){ if(0==n%i && gcd(n/i,i)==1){ if(n/i==i){ //cout<<i*x<<","<<x<<endl; num++; } else{ //cout<<i*x<<","<<x*n/i<<endl; //cout<<x*n/i<<","<<i*x<<endl; num+=2; } } } cout<<num; }
1475 m进制转十进制
题目描述 Description
将m进制数n转化成一个十进制数 m<=16
题目保证转换后的十进制数<=100
输入描述
共一行
n和m
输出描述
共一个数
表示m进制的n化成十进制的数
#include<iostream> #include<string> using namespace std; int main(){ string n; int m; cin>>n>>m; if(0==m){cout<<0; return 0;} int sum = 0; for(int i=0;i<n.length();i++){ if(n[i]<='9' && n[i]>='0') sum = sum*m+(n[i]-'0'); else sum = sum*m+(n[i]-'A'+10); } cout<<sum; }
1474 m进制转十进制
题目描述 Description
将m进制数n转化成一个十进制数 m<=16
题目保证转换后的十进制数<=100
输入描述
共一行
n和m
输出描述
共一个数
表示n的m进制
显示逆序求的转化的数值,然后再输出,注意输出10以上的时候转换为A~F
#include<iostream> #include<vector> #include<cmath> using namespace std; int main(){ int n,m; cin>>n>>m; vector<int> pout; int t; while(n>0){ t = n%m; pout.push_back(t); n = n/m; } for(int i=pout.size()-1;i>=0;i--){ if(pout[i]>=0 && pout[i]<=9) cout<<pout[i]; else cout<<(char)(pout[i]-10+'A'); } }
相关文章推荐
- 天梯题目解答--通过初赛1-2
- wikioi-天梯-通过初赛-最小生成树-1231:最优布线问题
- 2013华为第五届编程大赛 成都初赛题目和解答
- 2005年百度之星程序设计大赛试题初赛题目四的解答(低频词过滤)
- 2013 华为成都初赛 题目和解答
- 题目及解答:通过命令行输入多个单词,统计单词次数(利用新特性)
- 天梯题目解答--入门菜鸟
- 天梯题目解答——1012、1430
- java解答 2005年百度之星程序设计大赛试题初赛题目
- 天梯题目解答——1205、1075、1083、1160
- wikioi-天梯-通过初赛-最小生成树-1078:最小生成树
- 2005年百度之星程序设计大赛试题初赛题目二的解答(重叠区间大小)
- 顶嵌杯初赛题目的解题报告
- 通过 JSP 直接往 JavaScript 程序中放数据。解答百度知道的一个问题。
- 题目及解答:利用常量、枚举实现访问权限的设置
- 2006 年百度之星程序设计大赛初赛题目 6 百度语言翻译机
- 华为2012第四届编程大赛初赛题目(4-22下午)
- Java面试常被问到的题目+解答
- [原]图标排列-2011百度之星初赛第一题解答
- CCF CSP 编程题目和解答-----试题名称:画图-------201409-2