数字统计-c语言-求特殊自然数

6:数字统计
查看 提交 统计 提问
总时间限制: 1000ms 内存限制: 65536kB
描述
请统计某个给定范围[L, R]的所有整数中,数字2出现的次数。

比如给定范围[2, 22],数字2在数2中出现了1次,在数12中出现1次,在数20中出现1次,在数21中出现1次,在数22中出现2次,所以数字2在该范围内一共出现了6次。

输入
输入共 1 行,为两个正整数 L 和 R,之间用一个空格隔开。
输出
输出共 1 行,表示数字 2 出现的次数。
样例输入
样例 #1:
2 22

样例 #2:
2 100
样例输出
样例 #1:
6

样例 #2:
20
来源
思考问题:
整数如何转换成字符串的形式。

#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
using namespace std;
int main(){
    int a,b,s=0;
    char c[10];
    scanf("%d%d",&a,&b);
    for(int i =a;i<=b;i++){
        sprintf(c,"%d",i);
        for(int j=0;j<strlen(c);j++){
        if(c[j]=='2')
           s=s+1;   
        }
    }
    printf("%d",s);
    return 0;
}

4:求特殊自然数
查看 提交 统计 提问
总时间限制: 1000ms 内存限制: 65536kB
描述
一个十进制自然数,它的七进制与九进制表示都是三位数,且七进制与九进制的三位数码表示顺序正好相反。编程求此自然数,并输出显示。

输入
无。
输出
三行:
第一行是此自然数的十进制表示;
第一行是此自然数的七进制表示;
第一行是此自然数的九进制表示。
样例输入
(无)
样例输出
(不提供)
关键问题:七进制数暗含筛选条件数要小于7,其他就是循环。

#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
using namespace std;
int main(){
int a,b,c;
for(a=1;a<=6;a++){
for(b=0;b<=6;b++){ 
for(c=1;c<=6;c++){
      int k = a*49+b*7+c;
      int n = c*81+b*9+a;
      if(k==n)
           {
            printf("%d\n",k);
            printf("%d%d%d\n",a,b,c);
            printf("%d%d%d\n",c,b,a);
           }    
      }
}


}

    return 0;       
}

猜你喜欢

转载自blog.csdn.net/u011644858/article/details/79993303