#include <iostream>
#include <math.h>
using namespace std;
bool panduan(int i){//判断不含7
int b[100];
int j=0;
while(i){
int ret=i%10;
b[j]=ret;
j++;
i/=10;
}
for(int r=0;r<sizeof(b)-1;r++){
if(b[r]==7)
return false;
}
return true;
}
int rbajinzhi(int i){//将十进制转换成八进制
int o=0;
int j=0;
int n=0;
if(i<=7)
o=i;
else
{
while(i>7){
j=i%8;
i=i/8;
o=j*pow(10,n)+o;
n++;
}
}
o=o+i*pow(10,n);
return o;
}
int main(){
int N;
cin>>N;
int count=0;
for(int i=1;i<=N;i++){
if(panduan(i)||panduan(rbajinzhi(i))){
count++;
}
}
cout<<count;
return 0;
}
输出的答案有误,请问是哪里写错了啊
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 技术专家团-Bamboo 2022-04-03 21:49关注
不需要使用数组,在你的代码上改了改,一个函数判断十进制是否含7,一个函数判断八进制是否含7
#include <iostream> #include <math.h> using namespace std; bool panduan(int i){//判断十进制不含7 while(i){ if(i%10==7) return false; i/=10; } return true; } int rbajinzhi(int i){//判断八进制不含7 while(i){ if(i%8==7) return false; i/=8; } return true; } int main(){ int N; cin>>N; int count=0; for(int i=1;i<=N;i++){ if(panduan(i)&&rbajinzhi(i)){ count++; } } cout<<count; return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 如何推断此服务器配置
- ¥15 关于github的项目怎么在pycharm上面运行
- ¥15 内存地址视频流转RTMP
- ¥100 有偿,谁有移远的EC200S固件和最新的Qflsh工具。
- ¥15 找一个QT页面+目标识别(行人检测)的开源项目
- ¥15 有没有整苹果智能分拣线上图像数据
- ¥20 有没有人会这个东西的
- ¥15 cfx考虑调整“enforce system memory limit”参数的设置
- ¥30 航迹分离,航迹增强,误差分析
- ¥15 Chrome Manifest扩展引用Ajax-hook库拦截请求失败