求小数的某一位
分数 a b \frac{a}{b} ba化为小数后,小数点后第n位的数字是多少?
输入格式:
三个正整数a, b,n,相邻两个数之间用单个空格隔开。0<a<b<100,1<=n=10000。
输出格式:
一个数字。
样例输入:
1 2 1
样例输出:
5
#include <iostream>
int a, b, n, y;
int main (){
scanf("%d %d %d", &a, &b, &n);
for (int i=0; i<n; i++){
y=a%b;
y*=10;
a=y;
}
printf("%d", a/b);
return 0;
}
分解质因数
输入一个大于2的正整数n,对n进行质数因分解,例如:
2=2
3=3
4=2*2
15=3*5
#include <iostream>
#include <cmath>
int n;
bool z=false;
int main(){
scanf("%d", &n);
printf("%d=", n);
for (int i=2; i<=n; i++){
bool f=true;
// for (int j=2; j<sqrt(i); j++){
// if (i%j==0){
// f=false;
// }
// }
if (f&&n%i==0){
if (z){
printf("*");
}
z=true;
printf("%d", i);
n/=i;
i--;
}
}
return 0;
}
韩信点兵
相传韩信才智过人,从不清点自己军队的人数,只要让士兵先后以三人一排、五人一排、七人一排地变换队形,他每次只要掠一眼队伍的排尾就知道总数。
输入包含3个非负整数a,b,c,表示每种队形排尾的人数(a<3,b<5,c<7),输出总人数的最小值(或报告无解)。已知总人数不小于10,不超过100.输入到文件结束为止。
样例输入1:
2 1 6
样例输出1:
Case1:
41
样例输入2:
2 1 3
样例输出2:
Case2:
No answer
#include <iostream>
int y3, y5, y7;
bool f=true;
int main (){
scanf("%d %d %d", &y3, &y5, &y7);
for (int i=10; i<100; i++){
if (i%3==y3 && i%5==y5 && i%7==y7){
printf("%d", i);
f=false;
}
}
if (f) printf("No answer");
return 0;
}
哥德巴赫猜想
任何一个大于2的偶数都可以表示为两个质数之和。(输出任何一种即可)
样例输入1:
12
样例输出1:
12=5+7
样例输入2:
1208
样例输出2:
1208=7+1201
#include <iostream>
#include <cmath>
int n;
int main (){
scanf("%d", &n);
for (int i1=2; i1<=n; i1++){
bool f1=true;
for (int j1=2; j1<=sqrt(i1); j1++){
if (i1%j1==0){
f1=false;
}
}
if (f1){
for (int i2=2; i2<=n; i2++){
bool f2=true;
for (int j2=2; j2<=sqrt(i2); j2++){
if (i2%j2==0){
f2=false;
}
}
if (f2){
if(i1+i2==n){
printf("%d=%d+%d", n, i1, i2);
return 0;
}
}
}
}
}
return 0;
}
最近期末有点忙,还是积累下来了几道题,大家可以看看。我暑假的时候讲解代码。