藍橋杯 演算法訓練 - 簡單加法(基本型) 首先給出簡單加法算式的定義: 如果有一個算式(i)+(i+1)+(i+2),(i>=0),在計算的過程中,沒有任何一個數位出現了進位,則稱其為簡單的加
問題描述
首先給出簡單加法算式的定義:
如果有一個算式(i)+(i+1)+(i+2),(i>=0),在計算的過程中,沒有任何一個數位出現了進位,則稱其為簡單的加法算式。
例如:i=3時,3+4+5=12,有一個進位,因此3+4+5不是一個簡單的加法算式;又如i=112時,112+113+114=339,沒有在任意數位上產生進位,故112+113+114是一個簡單的加法算式。
問題:給定一個正整數n,問當i大於等於0且小於n時,有多少個算式(i)+(i+1)+(i+2)是簡單加法算式。其中n<10000。
輸入格式
一個整數,表示n
輸出格式
一個整數,表示簡單加法算式的個數
例子
樣例輸入
4
樣例輸出
3
提示
請嚴格按要求輸出,不要畫蛇添足地列印類似:“請您輸入…” 的多餘內容。
所有程式碼放在同一個原始檔中,除錯通過後,拷貝提交該原始碼。
注意: main函式需要返回0
注意: 只使用ANSI C/ANSI C++ 標準,不要呼叫依賴於編譯環境或作業系統的特殊函式。
注意: 所有依賴的函式必須明確地在原始檔中 #include , 不能通過工程設定而省略常用標頭檔案。
提交時,注意選擇所期望的編譯器型別。
思路
只需要用一個函式,來判斷(i,i+1,i+2)這三個數相加是否需要進位即可。
程式碼:
#include <stdio.h>
int num = 0;
int judge(int i,int j,int k)
{
int a,b,c;
int flag=1;
while(i || j || k)
{
a=i%10;
b=j%10;
c=k%10;
i/=10;
j/=10;
k/=10;
if(a+b+c>=10)
flag=0;
}
return flag;
}
int main ()
{
int n;
scanf("%d",&n);
int i;
for(i=0;i<n;i++)
{
if(judge(i,i+1,i+2)==1)
num++;
}
printf("%d",num);
return 0;
}
相關文章
- 一個簡單的二進位制加法器
- 一個簡單的十六進位制解碼器
- Java實現一個簡單的計算器Java
- 從0到1實現一個簡單計算器
- 用java實現一個簡單的計算器Java
- wps/excel計算單元格內的算式Excel
- SAP MM採購定價過程的一個簡單例子單例
- 簡單-定義一個小程式元件元件
- 實現一個簡單的TomcatTomcat
- HDU_1237 一個簡單的計算器
- 如何實現一個簡單的釋出訂閱模式模式
- 簡單的寫一個釋出訂閱器
- 一個簡單java程式的執行全過程Java
- 16進位制的簡單運算(迴圈)
- [藍橋杯][演算法提高VIP]大數加法演算法
- 單GPU訓練一天,Transformer在100位數字加法上就達能到99%準確率GPUORM
- DRY原則的一個簡單實踐
- 一個簡簡單單的紅點系統框架框架
- 位運算簡單操作
- 實現一個簡單的DOM diff演算法演算法
- 實現一個簡單的輪詢演算法演算法
- 簡單的實現一個原型鏈原型
- 實現一個簡單的MVVM(Compile)MVVMCompile
- php實現一個簡單的socketPHP
- 實現一個簡單的 RESTful APIRESTAPI
- 實現一個簡單的 jQuery 的 APIjQueryAPI
- 簡單計算給定兩個給定經緯度座標的距離
- 一個簡單的Tessellation Shader
- 一個簡單的「IOC」例子
- 一個簡單的 PWA 指南
- 藍橋杯-移動距離(最簡單的寫法)
- gpt給出的operator簡單示例GPT
- 發一個自己寫的簡單32位遊戲保護遊戲
- 在 Golang 中實現一個簡單的Http中介軟體GolangHTTP
- Python編寫一個簡單計算器Python
- Go的第一個Hello程式 簡簡單單 - 快快樂樂Go
- 用 go 實現一個簡單的 mvcGoMVC
- 實現一個簡單的虛擬DOM