2089.不要62
#include<stdio.h>
int s[10000001];//违规数
void judge() {
int t=0;for(int l=0; l<1000000; l++) {
int now,last=0,k;k=l;while(k) {
now=k%10;if(now==4||now==6&&last==2) {
t++;break;}k=k/10;last=now;}s[l]=t;}
}
int main() {
int n,m;judge();while(scanf("%d %d",&n,&m),n||m) {
printf("%d\n",m-n+1-(s[m]-s[n-1]));}return 0;
}
2090.算菜价
#include<stdio.h>int main()
{
double a,b;char s[100];double sum = 0.0;while(scanf("%s", s)!=EOF){
scanf("%lf%lf", &a, &b);sum += a*b; }printf("%.1lf\n", sum);return 0;
}*/
2091.空心三角形
和2032杨辉三角差不多
2052.Picture
#include <stdio.h>
void main()
{
char a;int b;int i,j,k,m;int sign=1;while(scanf("%s",&a)!=EOF){
if(a=='@') break;scanf("%d",&b);if(sign==0) printf("\n");//多个测试间隔一行for(i=0;i<b;i++)//b行{
for(j=b-1-i;j>0;j--) {
printf(" ");//输出前面空格,规律还可以}printf("%c",a);//输出第一个aif(i!=0&&i!=b-1)//除了第一行和最后一行{
for(k=0;k<(i-1)*2+1;k++){
printf(" ");//输出有规律个数的空格}printf("%c",a);//有了if条件,第一行就不会有两个a}if(i==b-1)//最后一行{
for(m=0;m<2*b-2;m++){
printf("%c",a);}}printf("\n");//每行回车}sign = 0;}
}
2092整数解
#include <stdio.h>
#include <math.h>
int main(){
int n,m;while(scanf("%d%d",&n,&m),n,m){
double x=sqrt(n*n-4*m);printf((int) x==x?"Yes\n":"No\n");}
}
2093
太难了
2094.产生冠军
#include <stdio.h>
#include <stdlib.h>
#include <string.h>int main(){
char num1[2010][100],num2[2010][100];int j,i,samep,count,n,butong,same;while(scanf("%d",&n) != EOF && n){
getchar();for(i = 0;i < n * 2;i++)scanf("%s",&num2[i]);same = 0;for(i = 0;i < n * 2;i++){
for(j = i+1;j < n * 2;j++){
if(strcmp(num2[i],num2[j]) == 0){
same++;break;}}}butong = n * 2 - same;same = 0;for(i = 1;i < n * 2;i+=2)for(j = i+2;j < n*2;j+=2){
if(strcmp(num2[i],num2[j]) == 0){
same++;break;}}count = n - same;if(butong - count == 1)printf("Yes\n");elseprintf("No\n");}
}
2095.find your present (2)
利用数论知识:a^ b^a=b,答案与n-1个数异或就是可以找出最终答案
#include <stdio.h>
int main()
{
int n;int temp;while(scanf("%d",&n),n){
int ans,i;for(i=0,ans=0;i<n;i++){
scanf("%d",&temp);ans=ans^temp;}printf("%d\n",ans);}return 0;
}
异或运算法则
- a ^ b = b ^ a
- a ^ b ^ c = a ^ (b ^ c) = (a ^ b) ^ c;
- d = a ^ b ^ c 则 a = d ^ b ^ c.
- a ^ b ^ a = b
2096.小明A+B
#include <stdio.h>
int main(){
int n;scanf("%d",&n);while(n--){
int a,b;scanf("%d%d",&a,&b);if(a>=100) a=a%100;if(b>=100) b=b%100;int c=a+b;if(c>=100) c=c%100;printf("%d\n",c);}return 0;
}
2097.Sky数
#include <stdio.h>
int main()
{
int a;while(~scanf("%d",&a),a){
if( (a/1000+a/100%10+a/10%10+a%10)==(a/4096+a/256%16+a/16%16+a%16)&&(a/1000+a/100%10+a/10%10+a%10)==(a/1728+a/144%12+a/12%12+a%12))printf("%d is a Sky Number.\n",a);elseprintf("%d is not a Sky Number.\n",a);}return 0;
}
2098.分拆素数和
#include <stdio.h>
#include <math.h>
int isPrime(int n)//判断素数函数。
{
int i;for(i = 2; i <= (int)sqrt(n); i ++)//从2到算数平方根遍历。if(n%i == 0) return 0;//存在约数,非素数,返回0.return 1;//是素数,返回1.
}
int main()
{
int i,a,j;while(~scanf("%d",&a),a){
int c[5000]={
0};int k=0,count=0;for(i = 2; i <= a; i ++)if(isPrime(i)==1)//是素数。{
c[k]=i;k++;}for(i=0;i<k;i++)for(j=1;j<k;j++)if(c[i]+c[j]==a) {
// printf("%d %d\n",c[i],c[j]);count++;}printf("%d\n",count/2);/* for(j=0;j<k;j++)if(j!=k-1)printf("%d ", c[j]);printf("%d\n",c[k-1]);*/}return 0;
}
判断是否素数代码
#include <stdio.h>
#include <math.h>
int isPrime(int n)//判断素数函数。
{
int i;for(i = 2; i <= (int)sqrt(n); i ++)//从2到算数平方根遍历。if(n%i == 0) return 0;//存在约数,非素数,返回0.return 1;//是素数,返回1.
}
int main()
{
int i,a;while(~scanf("%d",&a)){
if(a==1)printf("%d不是素数\n",a);else if(isPrime(a)==1)printf("%d是素数\n",a);elseprintf("%d不是素数\n",a);}return 0;
}
输出素数代码
#include <stdio.h>
#include <math.h>
int isPrime(int n)//判断素数函数。
{
int i;for(i = 2; i <= (int)sqrt(n); i ++)//从2到算数平方根遍历。if(n%i == 0) return 0;//存在约数,非素数,返回0.return 1;//是素数,返回1.
}
int main()
{
int i;for(i = 2; i <= 100; i ++)if(isPrime(i)==1)//是素数。printf("%d ", i);return 0;
}
2099.整数的尾数
#include <stdio.h>
int main(){
int a,b;while(~scanf("%d%d",&a,&b),a+b){
int c=a*100;int d[100],k=0,i;for( i=c;i<c+100;i++)if(i%b==0){
d[k]=i%100;k++;}for( i=0;i<k;i++)if(i!=k-1){
if(d[i]>=0&&d[i]<10){
printf("0");printf("%d ",d[i]);}elseprintf("%d ",d[i]);}if(d[k-1]>=0&&d[k-1]<10){
printf("0%d\n",d[k-1]); }elseprintf("%d\n",d[k-1]);}return 0;
}