日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数1 游戏

發布時間:2025/5/22 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数1 游戏 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、題目:

??給定一個十進制的正整數,寫下從1開始,到N的所有整數,然后數一下其中出現“1”的個數。要求: 1.寫一個函數 f(N) ,返回1 到 N 之間出現的“1”的個數。例如 f(12)? = 5。2.在32位整數范圍內,滿足條件的“f(N) =N”的最大的N是多少。

二.設計思想。

? 分別算出每一位上1出現的次數,再加起來就是總的次數。

三、源程序

#include<iostream.h>

#include<math.h>

int main()

{

??? int num,a[10],n,k,s=0,b,c;

??? //double b,c;

??? cout<<"請輸入輸入數字的位數:"<<endl;

??? cin>>n;

??? cout<<"請輸入數字:"<<endl;

??? cin>>num;

??? cout<<endl;

??? k=num;

??? for(int i=0;i<n;i++)

??? {

??????? a[i]=num%10;

??????? num=num/10;

??? }

??? for(i=0;i<n;i++)

?? ?{

??????? if(a[i]>1)

??????? {

??????????? b=pow(10,(i+1));

??????????? c=pow(10,i);

??????????? s=s+(k/b+1)*c;

??????????? //cout<<a[i]<<" "<<s<<endl;

??????? }

??????? else if(a[i]==1)

??????? {

??????????? b=pow(10,(i+1));

??????????? c=pow(10,i);

??? ????????s=s+k/b*c+k%c+1;

??????????? //cout<<a[i]<<" "<<k/b*c<<" "<<k%c<<" "<<s<<endl;

??????? }

??????? else

??????? {

??????????? b=pow(10,(i+1));

??????????? c=pow(10,i);

??????????? s=s+k/b*c;

??????????? //cout<<a[i]<<" "<<s<<endl;

??????? }

??? }

??? cout<<"從0到"<<k<<"中1的個數為:"<<endl;

??? cout<<s<<endl;

??? return 0;

}

四、結果截圖

?

五、實驗總結

???這次實驗比較簡單,但主要是找規律,先找出規律,寫算法。以后在實驗時也要多想一些不同算發法。

?

轉載于:https://www.cnblogs.com/weaponx/p/4583111.html

總結

以上是生活随笔為你收集整理的数1 游戏的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。